{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "helper load finish!!!\n",
      "(62377, 1450)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>Tag</th>\n",
       "      <th>0opday_x</th>\n",
       "      <th>1opday_y</th>\n",
       "      <th>2opday_x</th>\n",
       "      <th>3opday_y</th>\n",
       "      <th>4opday_x</th>\n",
       "      <th>5opday_y</th>\n",
       "      <th>6opday_x</th>\n",
       "      <th>7opday_y</th>\n",
       "      <th>...</th>\n",
       "      <th>ip1_sub_uid_nunique_x.3</th>\n",
       "      <th>ip1_sub_uid_nunique_y.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10000</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>2</td>\n",
       "      <td>26.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>20.222222</td>\n",
       "      <td>6.851602</td>\n",
       "      <td>46.944444</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10001</td>\n",
       "      <td>0</td>\n",
       "      <td>67</td>\n",
       "      <td>8</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>437.0</td>\n",
       "      <td>6.522388</td>\n",
       "      <td>4.120747</td>\n",
       "      <td>16.980552</td>\n",
       "      <td>...</td>\n",
       "      <td>7.061124</td>\n",
       "      <td>49.859477</td>\n",
       "      <td>18</td>\n",
       "      <td>9</td>\n",
       "      <td>0.000658</td>\n",
       "      <td>0.000083</td>\n",
       "      <td>0.005873</td>\n",
       "      <td>0.000326</td>\n",
       "      <td>0.000154</td>\n",
       "      <td>2.364154e-08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2 rows × 1450 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID  Tag  0opday_x  1opday_y  2opday_x  3opday_y  4opday_x   5opday_y  \\\n",
       "0  10000    1         9         2      26.0      13.0     182.0  20.222222   \n",
       "1  10001    0        67         8      13.0       2.0     437.0   6.522388   \n",
       "\n",
       "   6opday_x   7opday_y               ...                \\\n",
       "0  6.851602  46.944444               ...                 \n",
       "1  4.120747  16.980552               ...                 \n",
       "\n",
       "   ip1_sub_uid_nunique_x.3  ip1_sub_uid_nunique_y.3  \\\n",
       "0                 0.000000                 0.000000   \n",
       "1                 7.061124                49.859477   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x  ip1_sub_trsct_nunique_rate_y  \\\n",
       "0                             2                             1   \n",
       "1                            18                             9   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.1  ip1_sub_trsct_nunique_rate_y.1  \\\n",
       "0                        0.000019                        0.000019   \n",
       "1                        0.000658                        0.000083   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.2  ip1_sub_trsct_nunique_rate_y.2  \\\n",
       "0                        0.000038                        0.000019   \n",
       "1                        0.005873                        0.000326   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.3  ip1_sub_trsct_nunique_rate_y.3  \n",
       "0                        0.000000                    0.000000e+00  \n",
       "1                        0.000154                    2.364154e-08  \n",
       "\n",
       "[2 rows x 1450 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from base_helper import *\n",
    "op = get_opmerge_ftrs()\n",
    "trsct = get_trsct_merge_ftrs()\n",
    "op = fill_mean(op)\n",
    "trsct = fill_mean(trsct)\n",
    "trsct.pop(tag_hd.Tag)\n",
    "op.fillna(-1, inplace=True)\n",
    "trsct.fillna(-1, inplace=True)\n",
    "merge = op.merge(trsct, on='UID', how='left')\n",
    "print(merge.shape)\n",
    "merge.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['UID', 'Tag', '0opday_x', '1opday_y', '2opday_x', '3opday_y', '4opday_x', '5opday_y', '6opday_x', '7opday_y', '8opsuccess_x', '9opsuccess_y', '10opsuccess_x', '11opsuccess_y', '12opsuccess_x', '13opsuccess_y', '14opsuccess_x', '15opsuccess_y', '16opos_x', '17opos_y', '18opos_x', '19opos_y', '20opos_x', '21opos_y', '22opos_x', '23opos_y', '24opday_uid_cnt_x', '25opday_uid_cnt_y', '26opday_uid_cnt_x', '27opday_uid_cnt_y', '28opday_uid_cnt_x', '29opday_uid_cnt_y', '30opday_uid_cnt_x', '31opday_uid_cnt_y', '32opday_op_cnt_rate_x', '33opday_op_cnt_rate_y', '34opday_op_cnt_rate_x', '35opday_op_cnt_rate_y', '36opday_op_cnt_rate_x', '37opday_op_cnt_rate_y', '38opday_op_cnt_rate_x', '39opday_op_cnt_rate_y', '40opday_uid_nunique_x', '41opday_uid_nunique_y', '42opday_uid_nunique_x', '43opday_uid_nunique_y', '44opday_uid_nunique_x', '45opday_uid_nunique_y', '46opday_uid_nunique_x', '47opday_uid_nunique_y', '48opday_op_nunique_rate_x', '49opday_op_nunique_rate_y', '50opday_op_nunique_rate_x', '51opday_op_nunique_rate_y', '52opday_op_nunique_rate_x', '53opday_op_nunique_rate_y', '54opday_op_nunique_rate_x', '55opday_op_nunique_rate_y', '56opmode_uid_cnt_x', '57opmode_uid_cnt_y', '58opmode_uid_cnt_x', '59opmode_uid_cnt_y', '60opmode_uid_cnt_x', '61opmode_uid_cnt_y', '62opmode_uid_cnt_x', '63opmode_uid_cnt_y', '64opmode_op_cnt_rate_x', '65opmode_op_cnt_rate_y', '66opmode_op_cnt_rate_x', '67opmode_op_cnt_rate_y', '68opmode_op_cnt_rate_x', '69opmode_op_cnt_rate_y', '70opmode_op_cnt_rate_x', '71opmode_op_cnt_rate_y', '72opmode_uid_nunique_x', '73opmode_uid_nunique_y', '74opmode_uid_nunique_x', '75opmode_uid_nunique_y', '76opmode_uid_nunique_x', '77opmode_uid_nunique_y', '78opmode_uid_nunique_x', '79opmode_uid_nunique_y', '80opmode_op_nunique_rate_x', '81opmode_op_nunique_rate_y', '82opmode_op_nunique_rate_x', '83opmode_op_nunique_rate_y', '84opmode_op_nunique_rate_x', '85opmode_op_nunique_rate_y', '86opmode_op_nunique_rate_x', '87opmode_op_nunique_rate_y', '88opsuccess_uid_cnt_x', '89opsuccess_uid_cnt_y', '90opsuccess_uid_cnt_x', '91opsuccess_uid_cnt_y', '92opsuccess_uid_cnt_x', '93opsuccess_uid_cnt_y', '94opsuccess_uid_cnt_x', '95opsuccess_uid_cnt_y', '96opsuccess_op_cnt_rate_x', '97opsuccess_op_cnt_rate_y', '98opsuccess_op_cnt_rate_x', '99opsuccess_op_cnt_rate_y', '100opsuccess_op_cnt_rate_x', '101opsuccess_op_cnt_rate_y', '102opsuccess_op_cnt_rate_x', '103opsuccess_op_cnt_rate_y', '104opsuccess_uid_nunique_x', '105opsuccess_uid_nunique_y', '106opsuccess_uid_nunique_x', '107opsuccess_uid_nunique_y', '108opsuccess_uid_nunique_x', '109opsuccess_uid_nunique_y', '110opsuccess_uid_nunique_x', '111opsuccess_uid_nunique_y', '112opsuccess_op_nunique_rate_x', '113opsuccess_op_nunique_rate_y', '114opsuccess_op_nunique_rate_x', '115opsuccess_op_nunique_rate_y', '116opsuccess_op_nunique_rate_x', '117opsuccess_op_nunique_rate_y', '118opsuccess_op_nunique_rate_x', '119opsuccess_op_nunique_rate_y', '120optime_uid_cnt_x', '121optime_uid_cnt_y', '122optime_uid_cnt_x', '123optime_uid_cnt_y', '124optime_uid_cnt_x', '125optime_uid_cnt_y', '126optime_uid_cnt_x', '127optime_uid_cnt_y', '128optime_op_cnt_rate_x', '129optime_op_cnt_rate_y', '130optime_op_cnt_rate_x', '131optime_op_cnt_rate_y', '132optime_op_cnt_rate_x', '133optime_op_cnt_rate_y', '134optime_op_cnt_rate_x', '135optime_op_cnt_rate_y', '136optime_uid_nunique_x', '137optime_uid_nunique_y', '138optime_uid_nunique_x', '139optime_uid_nunique_y', '140optime_uid_nunique_x', '141optime_uid_nunique_y', '142optime_uid_nunique_x', '143optime_uid_nunique_y', '144optime_op_nunique_rate_x', '145optime_op_nunique_rate_y', '146optime_op_nunique_rate_x', '147optime_op_nunique_rate_y', '148optime_op_nunique_rate_x', '149optime_op_nunique_rate_y', '150optime_op_nunique_rate_x', '151optime_op_nunique_rate_y', '152opos_uid_cnt_x', '153opos_uid_cnt_y', '154opos_uid_cnt_x', '155opos_uid_cnt_y', '156opos_uid_cnt_x', '157opos_uid_cnt_y', '158opos_uid_cnt_x', '159opos_uid_cnt_y', '160opos_op_cnt_rate_x', '161opos_op_cnt_rate_y', '162opos_op_cnt_rate_x', '163opos_op_cnt_rate_y', '164opos_op_cnt_rate_x', '165opos_op_cnt_rate_y', '166opos_op_cnt_rate_x', '167opos_op_cnt_rate_y', '168opos_uid_nunique_x', '169opos_uid_nunique_y', '170opos_uid_nunique_x', '171opos_uid_nunique_y', '172opos_uid_nunique_x', '173opos_uid_nunique_y', '174opos_uid_nunique_x', '175opos_uid_nunique_y', '176opos_op_nunique_rate_x', '177opos_op_nunique_rate_y', '178opos_op_nunique_rate_x', '179opos_op_nunique_rate_y', '180opos_op_nunique_rate_x', '181opos_op_nunique_rate_y', '182opos_op_nunique_rate_x', '183opos_op_nunique_rate_y', '184opversion_uid_cnt_x', '185opversion_uid_cnt_y', '186opversion_uid_cnt_x', '187opversion_uid_cnt_y', '188opversion_uid_cnt_x', '189opversion_uid_cnt_y', '190opversion_uid_cnt_x', '191opversion_uid_cnt_y', '192opversion_op_cnt_rate_x', '193opversion_op_cnt_rate_y', '194opversion_op_cnt_rate_x', '195opversion_op_cnt_rate_y', '196opversion_op_cnt_rate_x', '197opversion_op_cnt_rate_y', '198opversion_op_cnt_rate_x', '199opversion_op_cnt_rate_y', '200opversion_uid_nunique_x', '201opversion_uid_nunique_y', '202opversion_uid_nunique_x', '203opversion_uid_nunique_y', '204opversion_uid_nunique_x', '205opversion_uid_nunique_y', '206opversion_uid_nunique_x', '207opversion_uid_nunique_y', '208opversion_op_nunique_rate_x', '209opversion_op_nunique_rate_y', '210opversion_op_nunique_rate_x', '211opversion_op_nunique_rate_y', '212opversion_op_nunique_rate_x', '213opversion_op_nunique_rate_y', '214opversion_op_nunique_rate_x', '215opversion_op_nunique_rate_y', '216opdevice1_uid_cnt_x', '217opdevice1_uid_cnt_y', '218opdevice1_uid_cnt_x', '219opdevice1_uid_cnt_y', '220opdevice1_uid_cnt_x', '221opdevice1_uid_cnt_y', '222opdevice1_uid_cnt_x', '223opdevice1_uid_cnt_y', '224opdevice1_op_cnt_rate_x', '225opdevice1_op_cnt_rate_y', '226opdevice1_op_cnt_rate_x', '227opdevice1_op_cnt_rate_y', '228opdevice1_op_cnt_rate_x', '229opdevice1_op_cnt_rate_y', '230opdevice1_op_cnt_rate_x', '231opdevice1_op_cnt_rate_y', '232opdevice1_uid_nunique_x', '233opdevice1_uid_nunique_y', '234opdevice1_uid_nunique_x', '235opdevice1_uid_nunique_y', '236opdevice1_uid_nunique_x', '237opdevice1_uid_nunique_y', '238opdevice1_uid_nunique_x', '239opdevice1_uid_nunique_y', '240opdevice1_op_nunique_rate_x', '241opdevice1_op_nunique_rate_y', '242opdevice1_op_nunique_rate_x', '243opdevice1_op_nunique_rate_y', '244opdevice1_op_nunique_rate_x', '245opdevice1_op_nunique_rate_y', '246opdevice1_op_nunique_rate_x', '247opdevice1_op_nunique_rate_y', '248opdevice2_uid_cnt_x', '249opdevice2_uid_cnt_y', '250opdevice2_uid_cnt_x', '251opdevice2_uid_cnt_y', '252opdevice2_uid_cnt_x', '253opdevice2_uid_cnt_y', '254opdevice2_uid_cnt_x', '255opdevice2_uid_cnt_y', '256opdevice2_op_cnt_rate_x', '257opdevice2_op_cnt_rate_y', '258opdevice2_op_cnt_rate_x', '259opdevice2_op_cnt_rate_y', '260opdevice2_op_cnt_rate_x', '261opdevice2_op_cnt_rate_y', '262opdevice2_op_cnt_rate_x', '263opdevice2_op_cnt_rate_y', '264opdevice2_uid_nunique_x', '265opdevice2_uid_nunique_y', '266opdevice2_uid_nunique_x', '267opdevice2_uid_nunique_y', '268opdevice2_uid_nunique_x', '269opdevice2_uid_nunique_y', '270opdevice2_uid_nunique_x', '271opdevice2_uid_nunique_y', '272opdevice2_op_nunique_rate_x', '273opdevice2_op_nunique_rate_y', '274opdevice2_op_nunique_rate_x', '275opdevice2_op_nunique_rate_y', '276opdevice2_op_nunique_rate_x', '277opdevice2_op_nunique_rate_y', '278opdevice2_op_nunique_rate_x', '279opdevice2_op_nunique_rate_y', '280opdevice_code1_uid_cnt_x', '281opdevice_code1_uid_cnt_y', '282opdevice_code1_uid_cnt_x', '283opdevice_code1_uid_cnt_y', '284opdevice_code1_uid_cnt_x', '285opdevice_code1_uid_cnt_y', '286opdevice_code1_uid_cnt_x', '287opdevice_code1_uid_cnt_y', '288opdevice_code1_op_cnt_rate_x', '289opdevice_code1_op_cnt_rate_y', '290opdevice_code1_op_cnt_rate_x', '291opdevice_code1_op_cnt_rate_y', '292opdevice_code1_op_cnt_rate_x', '293opdevice_code1_op_cnt_rate_y', '294opdevice_code1_op_cnt_rate_x', '295opdevice_code1_op_cnt_rate_y', '296opdevice_code1_uid_nunique_x', '297opdevice_code1_uid_nunique_y', '298opdevice_code1_uid_nunique_x', '299opdevice_code1_uid_nunique_y', '300opdevice_code1_uid_nunique_x', '301opdevice_code1_uid_nunique_y', '302opdevice_code1_uid_nunique_x', '303opdevice_code1_uid_nunique_y', '304opdevice_code1_op_nunique_rate_x', '305opdevice_code1_op_nunique_rate_y', '306opdevice_code1_op_nunique_rate_x', '307opdevice_code1_op_nunique_rate_y', '308opdevice_code1_op_nunique_rate_x', '309opdevice_code1_op_nunique_rate_y', '310opdevice_code1_op_nunique_rate_x', '311opdevice_code1_op_nunique_rate_y', '312opdevice_code2_uid_cnt_x', '313opdevice_code2_uid_cnt_y', '314opdevice_code2_uid_cnt_x', '315opdevice_code2_uid_cnt_y', '316opdevice_code2_uid_cnt_x', '317opdevice_code2_uid_cnt_y', '318opdevice_code2_uid_cnt_x', '319opdevice_code2_uid_cnt_y', '320opdevice_code2_op_cnt_rate_x', '321opdevice_code2_op_cnt_rate_y', '322opdevice_code2_op_cnt_rate_x', '323opdevice_code2_op_cnt_rate_y', '324opdevice_code2_op_cnt_rate_x', '325opdevice_code2_op_cnt_rate_y', '326opdevice_code2_op_cnt_rate_x', '327opdevice_code2_op_cnt_rate_y', '328opdevice_code2_uid_nunique_x', '329opdevice_code2_uid_nunique_y', '330opdevice_code2_uid_nunique_x', '331opdevice_code2_uid_nunique_y', '332opdevice_code2_uid_nunique_x', '333opdevice_code2_uid_nunique_y', '334opdevice_code2_uid_nunique_x', '335opdevice_code2_uid_nunique_y', '336opdevice_code2_op_nunique_rate_x', '337opdevice_code2_op_nunique_rate_y', '338opdevice_code2_op_nunique_rate_x', '339opdevice_code2_op_nunique_rate_y', '340opdevice_code2_op_nunique_rate_x', '341opdevice_code2_op_nunique_rate_y', '342opdevice_code2_op_nunique_rate_x', '343opdevice_code2_op_nunique_rate_y', '344opmac1_uid_cnt_x', '345opmac1_uid_cnt_y', '346opmac1_uid_cnt_x', '347opmac1_uid_cnt_y', '348opmac1_uid_cnt_x', '349opmac1_uid_cnt_y', '350opmac1_uid_cnt_x', '351opmac1_uid_cnt_y', '352opmac1_op_cnt_rate_x', '353opmac1_op_cnt_rate_y', '354opmac1_op_cnt_rate_x', '355opmac1_op_cnt_rate_y', '356opmac1_op_cnt_rate_x', '357opmac1_op_cnt_rate_y', '358opmac1_op_cnt_rate_x', '359opmac1_op_cnt_rate_y', '360opmac1_uid_nunique_x', '361opmac1_uid_nunique_y', '362opmac1_uid_nunique_x', '363opmac1_uid_nunique_y', '364opmac1_uid_nunique_x', '365opmac1_uid_nunique_y', '366opmac1_uid_nunique_x', '367opmac1_uid_nunique_y', '368opmac1_op_nunique_rate_x', '369opmac1_op_nunique_rate_y', '370opmac1_op_nunique_rate_x', '371opmac1_op_nunique_rate_y', '372opmac1_op_nunique_rate_x', '373opmac1_op_nunique_rate_y', '374opmac1_op_nunique_rate_x', '375opmac1_op_nunique_rate_y', '376opip1_uid_cnt_x', '377opip1_uid_cnt_y', '378opip1_uid_cnt_x', '379opip1_uid_cnt_y', '380opip1_uid_cnt_x', '381opip1_uid_cnt_y', '382opip1_uid_cnt_x', '383opip1_uid_cnt_y', '384opip1_op_cnt_rate_x', '385opip1_op_cnt_rate_y', '386opip1_op_cnt_rate_x', '387opip1_op_cnt_rate_y', '388opip1_op_cnt_rate_x', '389opip1_op_cnt_rate_y', '390opip1_op_cnt_rate_x', '391opip1_op_cnt_rate_y', '392opip1_uid_nunique_x', '393opip1_uid_nunique_y', '394opip1_uid_nunique_x', '395opip1_uid_nunique_y', '396opip1_uid_nunique_x', '397opip1_uid_nunique_y', '398opip1_uid_nunique_x', '399opip1_uid_nunique_y', '400opip1_op_nunique_rate_x', '401opip1_op_nunique_rate_y', '402opip1_op_nunique_rate_x', '403opip1_op_nunique_rate_y', '404opip1_op_nunique_rate_x', '405opip1_op_nunique_rate_y', '406opip1_op_nunique_rate_x', '407opip1_op_nunique_rate_y', '408opip2_uid_cnt_x', '409opip2_uid_cnt_y', '410opip2_uid_cnt_x', '411opip2_uid_cnt_y', '412opip2_uid_cnt_x', '413opip2_uid_cnt_y', '414opip2_uid_cnt_x', '415opip2_uid_cnt_y', '416opip2_op_cnt_rate_x', '417opip2_op_cnt_rate_y', '418opip2_op_cnt_rate_x', '419opip2_op_cnt_rate_y', '420opip2_op_cnt_rate_x', '421opip2_op_cnt_rate_y', '422opip2_op_cnt_rate_x', '423opip2_op_cnt_rate_y', '424opip2_uid_nunique_x', '425opip2_uid_nunique_y', '426opip2_uid_nunique_x', '427opip2_uid_nunique_y', '428opip2_uid_nunique_x', '429opip2_uid_nunique_y', '430opip2_uid_nunique_x', '431opip2_uid_nunique_y', '432opip2_op_nunique_rate_x', '433opip2_op_nunique_rate_y', '434opip2_op_nunique_rate_x', '435opip2_op_nunique_rate_y', '436opip2_op_nunique_rate_x', '437opip2_op_nunique_rate_y', '438opip2_op_nunique_rate_x', '439opip2_op_nunique_rate_y', '440opdevice_code3_uid_cnt_x', '441opdevice_code3_uid_cnt_y', '442opdevice_code3_uid_cnt_x', '443opdevice_code3_uid_cnt_y', '444opdevice_code3_uid_cnt_x', '445opdevice_code3_uid_cnt_y', '446opdevice_code3_uid_cnt_x', '447opdevice_code3_uid_cnt_y', '448opdevice_code3_op_cnt_rate_x', '449opdevice_code3_op_cnt_rate_y', '450opdevice_code3_op_cnt_rate_x', '451opdevice_code3_op_cnt_rate_y', '452opdevice_code3_op_cnt_rate_x', '453opdevice_code3_op_cnt_rate_y', '454opdevice_code3_op_cnt_rate_x', '455opdevice_code3_op_cnt_rate_y', '456opdevice_code3_uid_nunique_x', '457opdevice_code3_uid_nunique_y', '458opdevice_code3_uid_nunique_x', '459opdevice_code3_uid_nunique_y', '460opdevice_code3_uid_nunique_x', '461opdevice_code3_uid_nunique_y', '462opdevice_code3_uid_nunique_x', '463opdevice_code3_uid_nunique_y', '464opdevice_code3_op_nunique_rate_x', '465opdevice_code3_op_nunique_rate_y', '466opdevice_code3_op_nunique_rate_x', '467opdevice_code3_op_nunique_rate_y', '468opdevice_code3_op_nunique_rate_x', '469opdevice_code3_op_nunique_rate_y', '470opdevice_code3_op_nunique_rate_x', '471opdevice_code3_op_nunique_rate_y', '472opmac2_uid_cnt_x', '473opmac2_uid_cnt_y', '474opmac2_uid_cnt_x', '475opmac2_uid_cnt_y', '476opmac2_uid_cnt_x', '477opmac2_uid_cnt_y', '478opmac2_uid_cnt_x', '479opmac2_uid_cnt_y', '480opmac2_op_cnt_rate_x', '481opmac2_op_cnt_rate_y', '482opmac2_op_cnt_rate_x', '483opmac2_op_cnt_rate_y', '484opmac2_op_cnt_rate_x', '485opmac2_op_cnt_rate_y', '486opmac2_op_cnt_rate_x', '487opmac2_op_cnt_rate_y', '488opmac2_uid_nunique_x', '489opmac2_uid_nunique_y', '490opmac2_uid_nunique_x', '491opmac2_uid_nunique_y', '492opmac2_uid_nunique_x', '493opmac2_uid_nunique_y', '494opmac2_uid_nunique_x', '495opmac2_uid_nunique_y', '496opmac2_op_nunique_rate_x', '497opmac2_op_nunique_rate_y', '498opmac2_op_nunique_rate_x', '499opmac2_op_nunique_rate_y', '500opmac2_op_nunique_rate_x', '501opmac2_op_nunique_rate_y', '502opmac2_op_nunique_rate_x', '503opmac2_op_nunique_rate_y', '504opwifi_uid_cnt_x', '505opwifi_uid_cnt_y', '506opwifi_uid_cnt_x', '507opwifi_uid_cnt_y', '508opwifi_uid_cnt_x', '509opwifi_uid_cnt_y', '510opwifi_uid_cnt_x', '511opwifi_uid_cnt_y', '512opwifi_op_cnt_rate_x', '513opwifi_op_cnt_rate_y', '514opwifi_op_cnt_rate_x', '515opwifi_op_cnt_rate_y', '516opwifi_op_cnt_rate_x', '517opwifi_op_cnt_rate_y', '518opwifi_op_cnt_rate_x', '519opwifi_op_cnt_rate_y', '520opwifi_uid_nunique_x', '521opwifi_uid_nunique_y', '522opwifi_uid_nunique_x', '523opwifi_uid_nunique_y', '524opwifi_uid_nunique_x', '525opwifi_uid_nunique_y', '526opwifi_uid_nunique_x', '527opwifi_uid_nunique_y', '528opwifi_op_nunique_rate_x', '529opwifi_op_nunique_rate_y', '530opwifi_op_nunique_rate_x', '531opwifi_op_nunique_rate_y', '532opwifi_op_nunique_rate_x', '533opwifi_op_nunique_rate_y', '534opwifi_op_nunique_rate_x', '535opwifi_op_nunique_rate_y', '536opgeo_code_uid_cnt_x', '537opgeo_code_uid_cnt_y', '538opgeo_code_uid_cnt_x', '539opgeo_code_uid_cnt_y', '540opgeo_code_uid_cnt_x', '541opgeo_code_uid_cnt_y', '542opgeo_code_uid_cnt_x', '543opgeo_code_uid_cnt_y', '544opgeo_code_op_cnt_rate_x', '545opgeo_code_op_cnt_rate_y', '546opgeo_code_op_cnt_rate_x', '547opgeo_code_op_cnt_rate_y', '548opgeo_code_op_cnt_rate_x', '549opgeo_code_op_cnt_rate_y', '550opgeo_code_op_cnt_rate_x', '551opgeo_code_op_cnt_rate_y', '552opgeo_code_uid_nunique_x', '553opgeo_code_uid_nunique_y', '554opgeo_code_uid_nunique_x', '555opgeo_code_uid_nunique_y', '556opgeo_code_uid_nunique_x', '557opgeo_code_uid_nunique_y', '558opgeo_code_uid_nunique_x', '559opgeo_code_uid_nunique_y', '560opgeo_code_op_nunique_rate_x', '561opgeo_code_op_nunique_rate_y', '562opgeo_code_op_nunique_rate_x', '563opgeo_code_op_nunique_rate_y', '564opgeo_code_op_nunique_rate_x', '565opgeo_code_op_nunique_rate_y', '566opgeo_code_op_nunique_rate_x', '567opgeo_code_op_nunique_rate_y', '568opip1_sub_uid_cnt_x', '569opip1_sub_uid_cnt_y', '570opip1_sub_uid_cnt_x', '571opip1_sub_uid_cnt_y', '572opip1_sub_uid_cnt_x', '573opip1_sub_uid_cnt_y', '574opip1_sub_uid_cnt_x', '575opip1_sub_uid_cnt_y', '576opip1_sub_op_cnt_rate_x', '577opip1_sub_op_cnt_rate_y', '578opip1_sub_op_cnt_rate_x', '579opip1_sub_op_cnt_rate_y', '580opip1_sub_op_cnt_rate_x', '581opip1_sub_op_cnt_rate_y', '582opip1_sub_op_cnt_rate_x', '583opip1_sub_op_cnt_rate_y', '584opip1_sub_uid_nunique_x', '585opip1_sub_uid_nunique_y', '586opip1_sub_uid_nunique_x', '587opip1_sub_uid_nunique_y', '588opip1_sub_uid_nunique_x', '589opip1_sub_uid_nunique_y', '590opip1_sub_uid_nunique_x', '591opip1_sub_uid_nunique_y', '592opip1_sub_op_nunique_rate_x', '593opip1_sub_op_nunique_rate_y', '594opip1_sub_op_nunique_rate_x', '595opip1_sub_op_nunique_rate_y', '596opip1_sub_op_nunique_rate_x', '597opip1_sub_op_nunique_rate_y', '598opip1_sub_op_nunique_rate_x', '599opip1_sub_op_nunique_rate_y', '600opip2_sub_uid_cnt_x', '601opip2_sub_uid_cnt_y', '602opip2_sub_uid_cnt_x', '603opip2_sub_uid_cnt_y', '604opip2_sub_uid_cnt_x', '605opip2_sub_uid_cnt_y', '606opip2_sub_uid_cnt_x', '607opip2_sub_uid_cnt_y', '608opip2_sub_op_cnt_rate_x', '609opip2_sub_op_cnt_rate_y', '610opip2_sub_op_cnt_rate_x', '611opip2_sub_op_cnt_rate_y', '612opip2_sub_op_cnt_rate_x', '613opip2_sub_op_cnt_rate_y', '614opip2_sub_op_cnt_rate_x', '615opip2_sub_op_cnt_rate_y', '616opip2_sub_uid_nunique_x', '617opip2_sub_uid_nunique_y', '618opip2_sub_uid_nunique_x', '619opip2_sub_uid_nunique_y', '620opip2_sub_uid_nunique_x', '621opip2_sub_uid_nunique_y', '622opip2_sub_uid_nunique_x', '623opip2_sub_uid_nunique_y', '624opip2_sub_op_nunique_rate_x', '625opip2_sub_op_nunique_rate_y', '626opip2_sub_op_nunique_rate_x', '627opip2_sub_op_nunique_rate_y', '628opip2_sub_op_nunique_rate_x', '629opip2_sub_op_nunique_rate_y', '630opip2_sub_op_nunique_rate_x', '631opip2_sub_op_nunique_rate_y', 'channel_x', 'channel_y', 'channel_x.1', 'channel_y.1', 'channel_x.2', 'channel_y.2', 'channel_x.3', 'channel_y.3', 'day_x', 'day_y', 'day_x.1', 'day_y.1', 'day_x.2', 'day_y.2', 'day_x.3', 'day_y.3', 'trans_amt_x', 'trans_amt_y', 'trans_amt_x.1', 'trans_amt_y.1', 'trans_amt_x.2', 'trans_amt_y.2', 'trans_amt_x.3', 'trans_amt_y.3', 'bal_x', 'bal_y', 'bal_x.1', 'bal_y.1', 'bal_x.2', 'bal_y.2', 'bal_x.3', 'bal_y.3', 'trans_type2_x', 'trans_type2_y', 'trans_type2_x.1', 'trans_type2_y.1', 'trans_type2_x.2', 'trans_type2_y.2', 'trans_type2_x.3', 'trans_type2_y.3', 'market_type_x', 'market_type_y', 'market_type_x.1', 'market_type_y.1', 'market_type_x.2', 'market_type_y.2', 'market_type_x.3', 'market_type_y.3', 'day_uid_cnt_x', 'day_uid_cnt_y', 'day_uid_cnt_x.1', 'day_uid_cnt_y.1', 'day_uid_cnt_x.2', 'day_uid_cnt_y.2', 'day_uid_cnt_x.3', 'day_uid_cnt_y.3', 'day_trsct_cnt_rate_x', 'day_trsct_cnt_rate_y', 'day_trsct_cnt_rate_x.1', 'day_trsct_cnt_rate_y.1', 'day_trsct_cnt_rate_x.2', 'day_trsct_cnt_rate_y.2', 'day_trsct_cnt_rate_x.3', 'day_trsct_cnt_rate_y.3', 'day_uid_nunique_x', 'day_uid_nunique_y', 'day_uid_nunique_x.1', 'day_uid_nunique_y.1', 'day_uid_nunique_x.2', 'day_uid_nunique_y.2', 'day_uid_nunique_x.3', 'day_uid_nunique_y.3', 'day_trsct_nunique_rate_x', 'day_trsct_nunique_rate_y', 'day_trsct_nunique_rate_x.1', 'day_trsct_nunique_rate_y.1', 'day_trsct_nunique_rate_x.2', 'day_trsct_nunique_rate_y.2', 'day_trsct_nunique_rate_x.3', 'day_trsct_nunique_rate_y.3', 'channel_uid_cnt_x', 'channel_uid_cnt_y', 'channel_uid_cnt_x.1', 'channel_uid_cnt_y.1', 'channel_uid_cnt_x.2', 'channel_uid_cnt_y.2', 'channel_uid_cnt_x.3', 'channel_uid_cnt_y.3', 'channel_trsct_cnt_rate_x', 'channel_trsct_cnt_rate_y', 'channel_trsct_cnt_rate_x.1', 'channel_trsct_cnt_rate_y.1', 'channel_trsct_cnt_rate_x.2', 'channel_trsct_cnt_rate_y.2', 'channel_trsct_cnt_rate_x.3', 'channel_trsct_cnt_rate_y.3', 'channel_uid_nunique_x', 'channel_uid_nunique_y', 'channel_uid_nunique_x.1', 'channel_uid_nunique_y.1', 'channel_uid_nunique_x.2', 'channel_uid_nunique_y.2', 'channel_uid_nunique_x.3', 'channel_uid_nunique_y.3', 'channel_trsct_nunique_rate_x', 'channel_trsct_nunique_rate_y', 'channel_trsct_nunique_rate_x.1', 'channel_trsct_nunique_rate_y.1', 'channel_trsct_nunique_rate_x.2', 'channel_trsct_nunique_rate_y.2', 'channel_trsct_nunique_rate_x.3', 'channel_trsct_nunique_rate_y.3', 'trans_amt_uid_cnt_x', 'trans_amt_uid_cnt_y', 'trans_amt_uid_cnt_x.1', 'trans_amt_uid_cnt_y.1', 'trans_amt_uid_cnt_x.2', 'trans_amt_uid_cnt_y.2', 'trans_amt_uid_cnt_x.3', 'trans_amt_uid_cnt_y.3', 'trans_amt_trsct_cnt_rate_x', 'trans_amt_trsct_cnt_rate_y', 'trans_amt_trsct_cnt_rate_x.1', 'trans_amt_trsct_cnt_rate_y.1', 'trans_amt_trsct_cnt_rate_x.2', 'trans_amt_trsct_cnt_rate_y.2', 'trans_amt_trsct_cnt_rate_x.3', 'trans_amt_trsct_cnt_rate_y.3', 'trans_amt_uid_nunique_x', 'trans_amt_uid_nunique_y', 'trans_amt_uid_nunique_x.1', 'trans_amt_uid_nunique_y.1', 'trans_amt_uid_nunique_x.2', 'trans_amt_uid_nunique_y.2', 'trans_amt_uid_nunique_x.3', 'trans_amt_uid_nunique_y.3', 'trans_amt_trsct_nunique_rate_x', 'trans_amt_trsct_nunique_rate_y', 'trans_amt_trsct_nunique_rate_x.1', 'trans_amt_trsct_nunique_rate_y.1', 'trans_amt_trsct_nunique_rate_x.2', 'trans_amt_trsct_nunique_rate_y.2', 'trans_amt_trsct_nunique_rate_x.3', 'trans_amt_trsct_nunique_rate_y.3', 'time_uid_cnt_x', 'time_uid_cnt_y', 'time_uid_cnt_x.1', 'time_uid_cnt_y.1', 'time_uid_cnt_x.2', 'time_uid_cnt_y.2', 'time_uid_cnt_x.3', 'time_uid_cnt_y.3', 'time_trsct_cnt_rate_x', 'time_trsct_cnt_rate_y', 'time_trsct_cnt_rate_x.1', 'time_trsct_cnt_rate_y.1', 'time_trsct_cnt_rate_x.2', 'time_trsct_cnt_rate_y.2', 'time_trsct_cnt_rate_x.3', 'time_trsct_cnt_rate_y.3', 'time_uid_nunique_x', 'time_uid_nunique_y', 'time_uid_nunique_x.1', 'time_uid_nunique_y.1', 'time_uid_nunique_x.2', 'time_uid_nunique_y.2', 'time_uid_nunique_x.3', 'time_uid_nunique_y.3', 'time_trsct_nunique_rate_x', 'time_trsct_nunique_rate_y', 'time_trsct_nunique_rate_x.1', 'time_trsct_nunique_rate_y.1', 'time_trsct_nunique_rate_x.2', 'time_trsct_nunique_rate_y.2', 'time_trsct_nunique_rate_x.3', 'time_trsct_nunique_rate_y.3', 'amt_src1_uid_cnt_x', 'amt_src1_uid_cnt_y', 'amt_src1_uid_cnt_x.1', 'amt_src1_uid_cnt_y.1', 'amt_src1_uid_cnt_x.2', 'amt_src1_uid_cnt_y.2', 'amt_src1_uid_cnt_x.3', 'amt_src1_uid_cnt_y.3', 'amt_src1_trsct_cnt_rate_x', 'amt_src1_trsct_cnt_rate_y', 'amt_src1_trsct_cnt_rate_x.1', 'amt_src1_trsct_cnt_rate_y.1', 'amt_src1_trsct_cnt_rate_x.2', 'amt_src1_trsct_cnt_rate_y.2', 'amt_src1_trsct_cnt_rate_x.3', 'amt_src1_trsct_cnt_rate_y.3', 'amt_src1_uid_nunique_x', 'amt_src1_uid_nunique_y', 'amt_src1_uid_nunique_x.1', 'amt_src1_uid_nunique_y.1', 'amt_src1_uid_nunique_x.2', 'amt_src1_uid_nunique_y.2', 'amt_src1_uid_nunique_x.3', 'amt_src1_uid_nunique_y.3', 'amt_src1_trsct_nunique_rate_x', 'amt_src1_trsct_nunique_rate_y', 'amt_src1_trsct_nunique_rate_x.1', 'amt_src1_trsct_nunique_rate_y.1', 'amt_src1_trsct_nunique_rate_x.2', 'amt_src1_trsct_nunique_rate_y.2', 'amt_src1_trsct_nunique_rate_x.3', 'amt_src1_trsct_nunique_rate_y.3', 'merchant_uid_cnt_x', 'merchant_uid_cnt_y', 'merchant_uid_cnt_x.1', 'merchant_uid_cnt_y.1', 'merchant_uid_cnt_x.2', 'merchant_uid_cnt_y.2', 'merchant_uid_cnt_x.3', 'merchant_uid_cnt_y.3', 'merchant_trsct_cnt_rate_x', 'merchant_trsct_cnt_rate_y', 'merchant_trsct_cnt_rate_x.1', 'merchant_trsct_cnt_rate_y.1', 'merchant_trsct_cnt_rate_x.2', 'merchant_trsct_cnt_rate_y.2', 'merchant_trsct_cnt_rate_x.3', 'merchant_trsct_cnt_rate_y.3', 'merchant_uid_nunique_x', 'merchant_uid_nunique_y', 'merchant_uid_nunique_x.1', 'merchant_uid_nunique_y.1', 'merchant_uid_nunique_x.2', 'merchant_uid_nunique_y.2', 'merchant_uid_nunique_x.3', 'merchant_uid_nunique_y.3', 'merchant_trsct_nunique_rate_x', 'merchant_trsct_nunique_rate_y', 'merchant_trsct_nunique_rate_x.1', 'merchant_trsct_nunique_rate_y.1', 'merchant_trsct_nunique_rate_x.2', 'merchant_trsct_nunique_rate_y.2', 'merchant_trsct_nunique_rate_x.3', 'merchant_trsct_nunique_rate_y.3', 'code1_uid_cnt_x', 'code1_uid_cnt_y', 'code1_uid_cnt_x.1', 'code1_uid_cnt_y.1', 'code1_uid_cnt_x.2', 'code1_uid_cnt_y.2', 'code1_uid_cnt_x.3', 'code1_uid_cnt_y.3', 'code1_trsct_cnt_rate_x', 'code1_trsct_cnt_rate_y', 'code1_trsct_cnt_rate_x.1', 'code1_trsct_cnt_rate_y.1', 'code1_trsct_cnt_rate_x.2', 'code1_trsct_cnt_rate_y.2', 'code1_trsct_cnt_rate_x.3', 'code1_trsct_cnt_rate_y.3', 'code1_uid_nunique_x', 'code1_uid_nunique_y', 'code1_uid_nunique_x.1', 'code1_uid_nunique_y.1', 'code1_uid_nunique_x.2', 'code1_uid_nunique_y.2', 'code1_uid_nunique_x.3', 'code1_uid_nunique_y.3', 'code1_trsct_nunique_rate_x', 'code1_trsct_nunique_rate_y', 'code1_trsct_nunique_rate_x.1', 'code1_trsct_nunique_rate_y.1', 'code1_trsct_nunique_rate_x.2', 'code1_trsct_nunique_rate_y.2', 'code1_trsct_nunique_rate_x.3', 'code1_trsct_nunique_rate_y.3', 'code2_uid_cnt_x', 'code2_uid_cnt_y', 'code2_uid_cnt_x.1', 'code2_uid_cnt_y.1', 'code2_uid_cnt_x.2', 'code2_uid_cnt_y.2', 'code2_uid_cnt_x.3', 'code2_uid_cnt_y.3', 'code2_trsct_cnt_rate_x', 'code2_trsct_cnt_rate_y', 'code2_trsct_cnt_rate_x.1', 'code2_trsct_cnt_rate_y.1', 'code2_trsct_cnt_rate_x.2', 'code2_trsct_cnt_rate_y.2', 'code2_trsct_cnt_rate_x.3', 'code2_trsct_cnt_rate_y.3', 'code2_uid_nunique_x', 'code2_uid_nunique_y', 'code2_uid_nunique_x.1', 'code2_uid_nunique_y.1', 'code2_uid_nunique_x.2', 'code2_uid_nunique_y.2', 'code2_uid_nunique_x.3', 'code2_uid_nunique_y.3', 'code2_trsct_nunique_rate_x', 'code2_trsct_nunique_rate_y', 'code2_trsct_nunique_rate_x.1', 'code2_trsct_nunique_rate_y.1', 'code2_trsct_nunique_rate_x.2', 'code2_trsct_nunique_rate_y.2', 'code2_trsct_nunique_rate_x.3', 'code2_trsct_nunique_rate_y.3', 'trans_type1_uid_cnt_x', 'trans_type1_uid_cnt_y', 'trans_type1_uid_cnt_x.1', 'trans_type1_uid_cnt_y.1', 'trans_type1_uid_cnt_x.2', 'trans_type1_uid_cnt_y.2', 'trans_type1_uid_cnt_x.3', 'trans_type1_uid_cnt_y.3', 'trans_type1_trsct_cnt_rate_x', 'trans_type1_trsct_cnt_rate_y', 'trans_type1_trsct_cnt_rate_x.1', 'trans_type1_trsct_cnt_rate_y.1', 'trans_type1_trsct_cnt_rate_x.2', 'trans_type1_trsct_cnt_rate_y.2', 'trans_type1_trsct_cnt_rate_x.3', 'trans_type1_trsct_cnt_rate_y.3', 'trans_type1_uid_nunique_x', 'trans_type1_uid_nunique_y', 'trans_type1_uid_nunique_x.1', 'trans_type1_uid_nunique_y.1', 'trans_type1_uid_nunique_x.2', 'trans_type1_uid_nunique_y.2', 'trans_type1_uid_nunique_x.3', 'trans_type1_uid_nunique_y.3', 'trans_type1_trsct_nunique_rate_x', 'trans_type1_trsct_nunique_rate_y', 'trans_type1_trsct_nunique_rate_x.1', 'trans_type1_trsct_nunique_rate_y.1', 'trans_type1_trsct_nunique_rate_x.2', 'trans_type1_trsct_nunique_rate_y.2', 'trans_type1_trsct_nunique_rate_x.3', 'trans_type1_trsct_nunique_rate_y.3', 'acc_id1_uid_cnt_x', 'acc_id1_uid_cnt_y', 'acc_id1_uid_cnt_x.1', 'acc_id1_uid_cnt_y.1', 'acc_id1_uid_cnt_x.2', 'acc_id1_uid_cnt_y.2', 'acc_id1_uid_cnt_x.3', 'acc_id1_uid_cnt_y.3', 'acc_id1_trsct_cnt_rate_x', 'acc_id1_trsct_cnt_rate_y', 'acc_id1_trsct_cnt_rate_x.1', 'acc_id1_trsct_cnt_rate_y.1', 'acc_id1_trsct_cnt_rate_x.2', 'acc_id1_trsct_cnt_rate_y.2', 'acc_id1_trsct_cnt_rate_x.3', 'acc_id1_trsct_cnt_rate_y.3', 'acc_id1_uid_nunique_x', 'acc_id1_uid_nunique_y', 'acc_id1_uid_nunique_x.1', 'acc_id1_uid_nunique_y.1', 'acc_id1_uid_nunique_x.2', 'acc_id1_uid_nunique_y.2', 'acc_id1_uid_nunique_x.3', 'acc_id1_uid_nunique_y.3', 'acc_id1_trsct_nunique_rate_x', 'acc_id1_trsct_nunique_rate_y', 'acc_id1_trsct_nunique_rate_x.1', 'acc_id1_trsct_nunique_rate_y.1', 'acc_id1_trsct_nunique_rate_x.2', 'acc_id1_trsct_nunique_rate_y.2', 'acc_id1_trsct_nunique_rate_x.3', 'acc_id1_trsct_nunique_rate_y.3', 'mac1_uid_cnt_x', 'mac1_uid_cnt_y', 'mac1_uid_cnt_x.1', 'mac1_uid_cnt_y.1', 'mac1_uid_cnt_x.2', 'mac1_uid_cnt_y.2', 'mac1_uid_cnt_x.3', 'mac1_uid_cnt_y.3', 'mac1_trsct_cnt_rate_x', 'mac1_trsct_cnt_rate_y', 'mac1_trsct_cnt_rate_x.1', 'mac1_trsct_cnt_rate_y.1', 'mac1_trsct_cnt_rate_x.2', 'mac1_trsct_cnt_rate_y.2', 'mac1_trsct_cnt_rate_x.3', 'mac1_trsct_cnt_rate_y.3', 'mac1_uid_nunique_x', 'mac1_uid_nunique_y', 'mac1_uid_nunique_x.1', 'mac1_uid_nunique_y.1', 'mac1_uid_nunique_x.2', 'mac1_uid_nunique_y.2', 'mac1_uid_nunique_x.3', 'mac1_uid_nunique_y.3', 'mac1_trsct_nunique_rate_x', 'mac1_trsct_nunique_rate_y', 'mac1_trsct_nunique_rate_x.1', 'mac1_trsct_nunique_rate_y.1', 'mac1_trsct_nunique_rate_x.2', 'mac1_trsct_nunique_rate_y.2', 'mac1_trsct_nunique_rate_x.3', 'mac1_trsct_nunique_rate_y.3', 'device2_uid_cnt_x', 'device2_uid_cnt_y', 'device2_uid_cnt_x.1', 'device2_uid_cnt_y.1', 'device2_uid_cnt_x.2', 'device2_uid_cnt_y.2', 'device2_uid_cnt_x.3', 'device2_uid_cnt_y.3', 'device2_trsct_cnt_rate_x', 'device2_trsct_cnt_rate_y', 'device2_trsct_cnt_rate_x.1', 'device2_trsct_cnt_rate_y.1', 'device2_trsct_cnt_rate_x.2', 'device2_trsct_cnt_rate_y.2', 'device2_trsct_cnt_rate_x.3', 'device2_trsct_cnt_rate_y.3', 'device2_uid_nunique_x', 'device2_uid_nunique_y', 'device2_uid_nunique_x.1', 'device2_uid_nunique_y.1', 'device2_uid_nunique_x.2', 'device2_uid_nunique_y.2', 'device2_uid_nunique_x.3', 'device2_uid_nunique_y.3', 'device2_trsct_nunique_rate_x', 'device2_trsct_nunique_rate_y', 'device2_trsct_nunique_rate_x.1', 'device2_trsct_nunique_rate_y.1', 'device2_trsct_nunique_rate_x.2', 'device2_trsct_nunique_rate_y.2', 'device2_trsct_nunique_rate_x.3', 'device2_trsct_nunique_rate_y.3', 'device1_uid_cnt_x', 'device1_uid_cnt_y', 'device1_uid_cnt_x.1', 'device1_uid_cnt_y.1', 'device1_uid_cnt_x.2', 'device1_uid_cnt_y.2', 'device1_uid_cnt_x.3', 'device1_uid_cnt_y.3', 'device1_trsct_cnt_rate_x', 'device1_trsct_cnt_rate_y', 'device1_trsct_cnt_rate_x.1', 'device1_trsct_cnt_rate_y.1', 'device1_trsct_cnt_rate_x.2', 'device1_trsct_cnt_rate_y.2', 'device1_trsct_cnt_rate_x.3', 'device1_trsct_cnt_rate_y.3', 'device1_uid_nunique_x', 'device1_uid_nunique_y', 'device1_uid_nunique_x.1', 'device1_uid_nunique_y.1', 'device1_uid_nunique_x.2', 'device1_uid_nunique_y.2', 'device1_uid_nunique_x.3', 'device1_uid_nunique_y.3', 'device1_trsct_nunique_rate_x', 'device1_trsct_nunique_rate_y', 'device1_trsct_nunique_rate_x.1', 'device1_trsct_nunique_rate_y.1', 'device1_trsct_nunique_rate_x.2', 'device1_trsct_nunique_rate_y.2', 'device1_trsct_nunique_rate_x.3', 'device1_trsct_nunique_rate_y.3', 'device_code3_uid_cnt_x', 'device_code3_uid_cnt_y', 'device_code3_uid_cnt_x.1', 'device_code3_uid_cnt_y.1', 'device_code3_uid_cnt_x.2', 'device_code3_uid_cnt_y.2', 'device_code3_uid_cnt_x.3', 'device_code3_uid_cnt_y.3', 'device_code3_trsct_cnt_rate_x', 'device_code3_trsct_cnt_rate_y', 'device_code3_trsct_cnt_rate_x.1', 'device_code3_trsct_cnt_rate_y.1', 'device_code3_trsct_cnt_rate_x.2', 'device_code3_trsct_cnt_rate_y.2', 'device_code3_trsct_cnt_rate_x.3', 'device_code3_trsct_cnt_rate_y.3', 'device_code3_uid_nunique_x', 'device_code3_uid_nunique_y', 'device_code3_uid_nunique_x.1', 'device_code3_uid_nunique_y.1', 'device_code3_uid_nunique_x.2', 'device_code3_uid_nunique_y.2', 'device_code3_uid_nunique_x.3', 'device_code3_uid_nunique_y.3', 'device_code3_trsct_nunique_rate_x', 'device_code3_trsct_nunique_rate_y', 'device_code3_trsct_nunique_rate_x.1', 'device_code3_trsct_nunique_rate_y.1', 'device_code3_trsct_nunique_rate_x.2', 'device_code3_trsct_nunique_rate_y.2', 'device_code3_trsct_nunique_rate_x.3', 'device_code3_trsct_nunique_rate_y.3', 'bal_uid_cnt_x', 'bal_uid_cnt_y', 'bal_uid_cnt_x.1', 'bal_uid_cnt_y.1', 'bal_uid_cnt_x.2', 'bal_uid_cnt_y.2', 'bal_uid_cnt_x.3', 'bal_uid_cnt_y.3', 'bal_trsct_cnt_rate_x', 'bal_trsct_cnt_rate_y', 'bal_trsct_cnt_rate_x.1', 'bal_trsct_cnt_rate_y.1', 'bal_trsct_cnt_rate_x.2', 'bal_trsct_cnt_rate_y.2', 'bal_trsct_cnt_rate_x.3', 'bal_trsct_cnt_rate_y.3', 'bal_uid_nunique_x', 'bal_uid_nunique_y', 'bal_uid_nunique_x.1', 'bal_uid_nunique_y.1', 'bal_uid_nunique_x.2', 'bal_uid_nunique_y.2', 'bal_uid_nunique_x.3', 'bal_uid_nunique_y.3', 'bal_trsct_nunique_rate_x', 'bal_trsct_nunique_rate_y', 'bal_trsct_nunique_rate_x.1', 'bal_trsct_nunique_rate_y.1', 'bal_trsct_nunique_rate_x.2', 'bal_trsct_nunique_rate_y.2', 'bal_trsct_nunique_rate_x.3', 'bal_trsct_nunique_rate_y.3', 'ip1_uid_cnt_x', 'ip1_uid_cnt_y', 'ip1_uid_cnt_x.1', 'ip1_uid_cnt_y.1', 'ip1_uid_cnt_x.2', 'ip1_uid_cnt_y.2', 'ip1_uid_cnt_x.3', 'ip1_uid_cnt_y.3', 'ip1_trsct_cnt_rate_x', 'ip1_trsct_cnt_rate_y', 'ip1_trsct_cnt_rate_x.1', 'ip1_trsct_cnt_rate_y.1', 'ip1_trsct_cnt_rate_x.2', 'ip1_trsct_cnt_rate_y.2', 'ip1_trsct_cnt_rate_x.3', 'ip1_trsct_cnt_rate_y.3', 'ip1_uid_nunique_x', 'ip1_uid_nunique_y', 'ip1_uid_nunique_x.1', 'ip1_uid_nunique_y.1', 'ip1_uid_nunique_x.2', 'ip1_uid_nunique_y.2', 'ip1_uid_nunique_x.3', 'ip1_uid_nunique_y.3', 'ip1_trsct_nunique_rate_x', 'ip1_trsct_nunique_rate_y', 'ip1_trsct_nunique_rate_x.1', 'ip1_trsct_nunique_rate_y.1', 'ip1_trsct_nunique_rate_x.2', 'ip1_trsct_nunique_rate_y.2', 'ip1_trsct_nunique_rate_x.3', 'ip1_trsct_nunique_rate_y.3', 'amt_src2_uid_cnt_x', 'amt_src2_uid_cnt_y', 'amt_src2_uid_cnt_x.1', 'amt_src2_uid_cnt_y.1', 'amt_src2_uid_cnt_x.2', 'amt_src2_uid_cnt_y.2', 'amt_src2_uid_cnt_x.3', 'amt_src2_uid_cnt_y.3', 'amt_src2_trsct_cnt_rate_x', 'amt_src2_trsct_cnt_rate_y', 'amt_src2_trsct_cnt_rate_x.1', 'amt_src2_trsct_cnt_rate_y.1', 'amt_src2_trsct_cnt_rate_x.2', 'amt_src2_trsct_cnt_rate_y.2', 'amt_src2_trsct_cnt_rate_x.3', 'amt_src2_trsct_cnt_rate_y.3', 'amt_src2_uid_nunique_x', 'amt_src2_uid_nunique_y', 'amt_src2_uid_nunique_x.1', 'amt_src2_uid_nunique_y.1', 'amt_src2_uid_nunique_x.2', 'amt_src2_uid_nunique_y.2', 'amt_src2_uid_nunique_x.3', 'amt_src2_uid_nunique_y.3', 'amt_src2_trsct_nunique_rate_x', 'amt_src2_trsct_nunique_rate_y', 'amt_src2_trsct_nunique_rate_x.1', 'amt_src2_trsct_nunique_rate_y.1', 'amt_src2_trsct_nunique_rate_x.2', 'amt_src2_trsct_nunique_rate_y.2', 'amt_src2_trsct_nunique_rate_x.3', 'amt_src2_trsct_nunique_rate_y.3', 'acc_id2_uid_cnt_x', 'acc_id2_uid_cnt_y', 'acc_id2_uid_cnt_x.1', 'acc_id2_uid_cnt_y.1', 'acc_id2_uid_cnt_x.2', 'acc_id2_uid_cnt_y.2', 'acc_id2_uid_cnt_x.3', 'acc_id2_uid_cnt_y.3', 'acc_id2_trsct_cnt_rate_x', 'acc_id2_trsct_cnt_rate_y', 'acc_id2_trsct_cnt_rate_x.1', 'acc_id2_trsct_cnt_rate_y.1', 'acc_id2_trsct_cnt_rate_x.2', 'acc_id2_trsct_cnt_rate_y.2', 'acc_id2_trsct_cnt_rate_x.3', 'acc_id2_trsct_cnt_rate_y.3', 'acc_id2_uid_nunique_x', 'acc_id2_uid_nunique_y', 'acc_id2_uid_nunique_x.1', 'acc_id2_uid_nunique_y.1', 'acc_id2_uid_nunique_x.2', 'acc_id2_uid_nunique_y.2', 'acc_id2_uid_nunique_x.3', 'acc_id2_uid_nunique_y.3', 'acc_id2_trsct_nunique_rate_x', 'acc_id2_trsct_nunique_rate_y', 'acc_id2_trsct_nunique_rate_x.1', 'acc_id2_trsct_nunique_rate_y.1', 'acc_id2_trsct_nunique_rate_x.2', 'acc_id2_trsct_nunique_rate_y.2', 'acc_id2_trsct_nunique_rate_x.3', 'acc_id2_trsct_nunique_rate_y.3', 'acc_id3_uid_cnt_x', 'acc_id3_uid_cnt_y', 'acc_id3_uid_cnt_x.1', 'acc_id3_uid_cnt_y.1', 'acc_id3_uid_cnt_x.2', 'acc_id3_uid_cnt_y.2', 'acc_id3_uid_cnt_x.3', 'acc_id3_uid_cnt_y.3', 'acc_id3_trsct_cnt_rate_x', 'acc_id3_trsct_cnt_rate_y', 'acc_id3_trsct_cnt_rate_x.1', 'acc_id3_trsct_cnt_rate_y.1', 'acc_id3_trsct_cnt_rate_x.2', 'acc_id3_trsct_cnt_rate_y.2', 'acc_id3_trsct_cnt_rate_x.3', 'acc_id3_trsct_cnt_rate_y.3', 'acc_id3_uid_nunique_x', 'acc_id3_uid_nunique_y', 'acc_id3_uid_nunique_x.1', 'acc_id3_uid_nunique_y.1', 'acc_id3_uid_nunique_x.2', 'acc_id3_uid_nunique_y.2', 'acc_id3_uid_nunique_x.3', 'acc_id3_uid_nunique_y.3', 'acc_id3_trsct_nunique_rate_x', 'acc_id3_trsct_nunique_rate_y', 'acc_id3_trsct_nunique_rate_x.1', 'acc_id3_trsct_nunique_rate_y.1', 'acc_id3_trsct_nunique_rate_x.2', 'acc_id3_trsct_nunique_rate_y.2', 'acc_id3_trsct_nunique_rate_x.3', 'acc_id3_trsct_nunique_rate_y.3', 'geocode_uid_cnt_x', 'geocode_uid_cnt_y', 'geocode_uid_cnt_x.1', 'geocode_uid_cnt_y.1', 'geocode_uid_cnt_x.2', 'geocode_uid_cnt_y.2', 'geocode_uid_cnt_x.3', 'geocode_uid_cnt_y.3', 'geocode_trsct_cnt_rate_x', 'geocode_trsct_cnt_rate_y', 'geocode_trsct_cnt_rate_x.1', 'geocode_trsct_cnt_rate_y.1', 'geocode_trsct_cnt_rate_x.2', 'geocode_trsct_cnt_rate_y.2', 'geocode_trsct_cnt_rate_x.3', 'geocode_trsct_cnt_rate_y.3', 'geocode_uid_nunique_x', 'geocode_uid_nunique_y', 'geocode_uid_nunique_x.1', 'geocode_uid_nunique_y.1', 'geocode_uid_nunique_x.2', 'geocode_uid_nunique_y.2', 'geocode_uid_nunique_x.3', 'geocode_uid_nunique_y.3', 'geocode_trsct_nunique_rate_x', 'geocode_trsct_nunique_rate_y', 'geocode_trsct_nunique_rate_x.1', 'geocode_trsct_nunique_rate_y.1', 'geocode_trsct_nunique_rate_x.2', 'geocode_trsct_nunique_rate_y.2', 'geocode_trsct_nunique_rate_x.3', 'geocode_trsct_nunique_rate_y.3', 'trans_type2_uid_cnt_x', 'trans_type2_uid_cnt_y', 'trans_type2_uid_cnt_x.1', 'trans_type2_uid_cnt_y.1', 'trans_type2_uid_cnt_x.2', 'trans_type2_uid_cnt_y.2', 'trans_type2_uid_cnt_x.3', 'trans_type2_uid_cnt_y.3', 'trans_type2_trsct_cnt_rate_x', 'trans_type2_trsct_cnt_rate_y', 'trans_type2_trsct_cnt_rate_x.1', 'trans_type2_trsct_cnt_rate_y.1', 'trans_type2_trsct_cnt_rate_x.2', 'trans_type2_trsct_cnt_rate_y.2', 'trans_type2_trsct_cnt_rate_x.3', 'trans_type2_trsct_cnt_rate_y.3', 'trans_type2_uid_nunique_x', 'trans_type2_uid_nunique_y', 'trans_type2_uid_nunique_x.1', 'trans_type2_uid_nunique_y.1', 'trans_type2_uid_nunique_x.2', 'trans_type2_uid_nunique_y.2', 'trans_type2_uid_nunique_x.3', 'trans_type2_uid_nunique_y.3', 'trans_type2_trsct_nunique_rate_x', 'trans_type2_trsct_nunique_rate_y', 'trans_type2_trsct_nunique_rate_x.1', 'trans_type2_trsct_nunique_rate_y.1', 'trans_type2_trsct_nunique_rate_x.2', 'trans_type2_trsct_nunique_rate_y.2', 'trans_type2_trsct_nunique_rate_x.3', 'trans_type2_trsct_nunique_rate_y.3', 'market_code_uid_cnt_x', 'market_code_uid_cnt_y', 'market_code_uid_cnt_x.1', 'market_code_uid_cnt_y.1', 'market_code_uid_cnt_x.2', 'market_code_uid_cnt_y.2', 'market_code_uid_cnt_x.3', 'market_code_uid_cnt_y.3', 'market_code_trsct_cnt_rate_x', 'market_code_trsct_cnt_rate_y', 'market_code_trsct_cnt_rate_x.1', 'market_code_trsct_cnt_rate_y.1', 'market_code_trsct_cnt_rate_x.2', 'market_code_trsct_cnt_rate_y.2', 'market_code_trsct_cnt_rate_x.3', 'market_code_trsct_cnt_rate_y.3', 'market_code_uid_nunique_x', 'market_code_uid_nunique_y', 'market_code_uid_nunique_x.1', 'market_code_uid_nunique_y.1', 'market_code_uid_nunique_x.2', 'market_code_uid_nunique_y.2', 'market_code_uid_nunique_x.3', 'market_code_uid_nunique_y.3', 'market_code_trsct_nunique_rate_x', 'market_code_trsct_nunique_rate_y', 'market_code_trsct_nunique_rate_x.1', 'market_code_trsct_nunique_rate_y.1', 'market_code_trsct_nunique_rate_x.2', 'market_code_trsct_nunique_rate_y.2', 'market_code_trsct_nunique_rate_x.3', 'market_code_trsct_nunique_rate_y.3', 'market_type_uid_cnt_x', 'market_type_uid_cnt_y', 'market_type_uid_cnt_x.1', 'market_type_uid_cnt_y.1', 'market_type_uid_cnt_x.2', 'market_type_uid_cnt_y.2', 'market_type_uid_cnt_x.3', 'market_type_uid_cnt_y.3', 'market_type_trsct_cnt_rate_x', 'market_type_trsct_cnt_rate_y', 'market_type_trsct_cnt_rate_x.1', 'market_type_trsct_cnt_rate_y.1', 'market_type_trsct_cnt_rate_x.2', 'market_type_trsct_cnt_rate_y.2', 'market_type_trsct_cnt_rate_x.3', 'market_type_trsct_cnt_rate_y.3', 'market_type_uid_nunique_x', 'market_type_uid_nunique_y', 'market_type_uid_nunique_x.1', 'market_type_uid_nunique_y.1', 'market_type_uid_nunique_x.2', 'market_type_uid_nunique_y.2', 'market_type_uid_nunique_x.3', 'market_type_uid_nunique_y.3', 'market_type_trsct_nunique_rate_x', 'market_type_trsct_nunique_rate_y', 'market_type_trsct_nunique_rate_x.1', 'market_type_trsct_nunique_rate_y.1', 'market_type_trsct_nunique_rate_x.2', 'market_type_trsct_nunique_rate_y.2', 'market_type_trsct_nunique_rate_x.3', 'market_type_trsct_nunique_rate_y.3', 'ip1_sub_uid_cnt_x', 'ip1_sub_uid_cnt_y', 'ip1_sub_uid_cnt_x.1', 'ip1_sub_uid_cnt_y.1', 'ip1_sub_uid_cnt_x.2', 'ip1_sub_uid_cnt_y.2', 'ip1_sub_uid_cnt_x.3', 'ip1_sub_uid_cnt_y.3', 'ip1_sub_trsct_cnt_rate_x', 'ip1_sub_trsct_cnt_rate_y', 'ip1_sub_trsct_cnt_rate_x.1', 'ip1_sub_trsct_cnt_rate_y.1', 'ip1_sub_trsct_cnt_rate_x.2', 'ip1_sub_trsct_cnt_rate_y.2', 'ip1_sub_trsct_cnt_rate_x.3', 'ip1_sub_trsct_cnt_rate_y.3', 'ip1_sub_uid_nunique_x', 'ip1_sub_uid_nunique_y', 'ip1_sub_uid_nunique_x.1', 'ip1_sub_uid_nunique_y.1', 'ip1_sub_uid_nunique_x.2', 'ip1_sub_uid_nunique_y.2', 'ip1_sub_uid_nunique_x.3', 'ip1_sub_uid_nunique_y.3', 'ip1_sub_trsct_nunique_rate_x', 'ip1_sub_trsct_nunique_rate_y', 'ip1_sub_trsct_nunique_rate_x.1', 'ip1_sub_trsct_nunique_rate_y.1', 'ip1_sub_trsct_nunique_rate_x.2', 'ip1_sub_trsct_nunique_rate_y.2', 'ip1_sub_trsct_nunique_rate_x.3', 'ip1_sub_trsct_nunique_rate_y.3']\n"
     ]
    }
   ],
   "source": [
    "m_cols = list(merge.columns.values)\n",
    "print(m_cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    306.018268\n",
       "1    554.623686\n",
       "dtype: float64"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merge['op_day_sum']=merge[m_cols[2:10]].sum(1).head(2)\n",
    "merge['op_day_mean']=merge[m_cols[2:10]].mean(1).head(2)\n",
    "merge['op_success_mean']=merge[m_cols[10:18]].mean(1).head(2)\n",
    "merge['op_success_sum']=merge[m_cols[10:18]].sum(1).head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(31179, 1450)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UID</th>\n",
       "      <th>Tag</th>\n",
       "      <th>0opday_x</th>\n",
       "      <th>1opday_y</th>\n",
       "      <th>2opday_x</th>\n",
       "      <th>3opday_y</th>\n",
       "      <th>4opday_x</th>\n",
       "      <th>5opday_y</th>\n",
       "      <th>6opday_x</th>\n",
       "      <th>7opday_y</th>\n",
       "      <th>...</th>\n",
       "      <th>ip1_sub_uid_nunique_x.3</th>\n",
       "      <th>ip1_sub_uid_nunique_y.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10000</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>2</td>\n",
       "      <td>26.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>20.222222</td>\n",
       "      <td>6.851602</td>\n",
       "      <td>46.944444</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10001</td>\n",
       "      <td>0</td>\n",
       "      <td>67</td>\n",
       "      <td>8</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>437.0</td>\n",
       "      <td>6.522388</td>\n",
       "      <td>4.120747</td>\n",
       "      <td>16.980552</td>\n",
       "      <td>...</td>\n",
       "      <td>7.061124</td>\n",
       "      <td>49.859477</td>\n",
       "      <td>18</td>\n",
       "      <td>9</td>\n",
       "      <td>0.000658</td>\n",
       "      <td>0.000083</td>\n",
       "      <td>0.005873</td>\n",
       "      <td>0.000326</td>\n",
       "      <td>0.000154</td>\n",
       "      <td>2.364154e-08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2 rows × 1450 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     UID  Tag  0opday_x  1opday_y  2opday_x  3opday_y  4opday_x   5opday_y  \\\n",
       "0  10000    1         9         2      26.0      13.0     182.0  20.222222   \n",
       "1  10001    0        67         8      13.0       2.0     437.0   6.522388   \n",
       "\n",
       "   6opday_x   7opday_y               ...                \\\n",
       "0  6.851602  46.944444               ...                 \n",
       "1  4.120747  16.980552               ...                 \n",
       "\n",
       "   ip1_sub_uid_nunique_x.3  ip1_sub_uid_nunique_y.3  \\\n",
       "0                 0.000000                 0.000000   \n",
       "1                 7.061124                49.859477   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x  ip1_sub_trsct_nunique_rate_y  \\\n",
       "0                             2                             1   \n",
       "1                            18                             9   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.1  ip1_sub_trsct_nunique_rate_y.1  \\\n",
       "0                        0.000019                        0.000019   \n",
       "1                        0.000658                        0.000083   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.2  ip1_sub_trsct_nunique_rate_y.2  \\\n",
       "0                        0.000038                        0.000019   \n",
       "1                        0.005873                        0.000326   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.3  ip1_sub_trsct_nunique_rate_y.3  \n",
       "0                        0.000000                    0.000000e+00  \n",
       "1                        0.000154                    2.364154e-08  \n",
       "\n",
       "[2 rows x 1450 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train = merge[merge[tag_hd.Tag]!=-1]\n",
    "print(train.shape)\n",
    "train.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Tag</th>\n",
       "      <th>index</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>Tag</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>896</th>\n",
       "      <td>0.424501</td>\n",
       "      <td>code1_uid_nunique_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>880</th>\n",
       "      <td>0.424475</td>\n",
       "      <td>code1_uid_cnt_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>904</th>\n",
       "      <td>0.424475</td>\n",
       "      <td>code1_trsct_nunique_rate_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>888</th>\n",
       "      <td>0.424475</td>\n",
       "      <td>code1_trsct_cnt_rate_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>897</th>\n",
       "      <td>0.414832</td>\n",
       "      <td>code1_uid_nunique_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>905</th>\n",
       "      <td>0.414666</td>\n",
       "      <td>code1_trsct_nunique_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>881</th>\n",
       "      <td>0.414666</td>\n",
       "      <td>code1_uid_cnt_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>889</th>\n",
       "      <td>0.414666</td>\n",
       "      <td>code1_trsct_cnt_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>891</th>\n",
       "      <td>0.326350</td>\n",
       "      <td>code1_uid_nunique_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1180</th>\n",
       "      <td>0.324214</td>\n",
       "      <td>ip1_uid_nunique_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>859</th>\n",
       "      <td>0.315827</td>\n",
       "      <td>merchant_uid_nunique_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1183</th>\n",
       "      <td>0.312808</td>\n",
       "      <td>ip1_uid_nunique_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>984</th>\n",
       "      <td>0.312059</td>\n",
       "      <td>acc_id1_trsct_cnt_rate_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>976</th>\n",
       "      <td>0.312059</td>\n",
       "      <td>acc_id1_uid_cnt_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000</th>\n",
       "      <td>0.312059</td>\n",
       "      <td>acc_id1_trsct_nunique_rate_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>992</th>\n",
       "      <td>0.304446</td>\n",
       "      <td>acc_id1_uid_nunique_x.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>987</th>\n",
       "      <td>0.293726</td>\n",
       "      <td>acc_id1_uid_nunique_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1001</th>\n",
       "      <td>0.291091</td>\n",
       "      <td>acc_id1_trsct_nunique_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>985</th>\n",
       "      <td>0.291091</td>\n",
       "      <td>acc_id1_trsct_cnt_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>977</th>\n",
       "      <td>0.291091</td>\n",
       "      <td>acc_id1_uid_cnt_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>843</th>\n",
       "      <td>0.290949</td>\n",
       "      <td>merchant_uid_cnt_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>867</th>\n",
       "      <td>0.290949</td>\n",
       "      <td>merchant_trsct_nunique_rate_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>851</th>\n",
       "      <td>0.290949</td>\n",
       "      <td>merchant_trsct_cnt_rate_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993</th>\n",
       "      <td>0.289693</td>\n",
       "      <td>acc_id1_uid_nunique_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1147</th>\n",
       "      <td>0.289329</td>\n",
       "      <td>bal_uid_nunique_y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1161</th>\n",
       "      <td>0.286219</td>\n",
       "      <td>bal_trsct_nunique_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1137</th>\n",
       "      <td>0.286219</td>\n",
       "      <td>bal_uid_cnt_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1145</th>\n",
       "      <td>0.286219</td>\n",
       "      <td>bal_trsct_cnt_rate_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1153</th>\n",
       "      <td>0.285539</td>\n",
       "      <td>bal_uid_nunique_y.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1327</th>\n",
       "      <td>-0.327363</td>\n",
       "      <td>trans_type2_uid_cnt_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1351</th>\n",
       "      <td>-0.327363</td>\n",
       "      <td>trans_type2_trsct_nunique_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1335</th>\n",
       "      <td>-0.327363</td>\n",
       "      <td>trans_type2_trsct_cnt_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1343</th>\n",
       "      <td>-0.327931</td>\n",
       "      <td>trans_type2_uid_nunique_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>733</th>\n",
       "      <td>-0.340312</td>\n",
       "      <td>channel_uid_nunique_y.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1151</th>\n",
       "      <td>-0.369987</td>\n",
       "      <td>bal_uid_nunique_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1143</th>\n",
       "      <td>-0.370283</td>\n",
       "      <td>bal_trsct_cnt_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1159</th>\n",
       "      <td>-0.370283</td>\n",
       "      <td>bal_trsct_nunique_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1135</th>\n",
       "      <td>-0.370283</td>\n",
       "      <td>bal_uid_cnt_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>959</th>\n",
       "      <td>-0.372296</td>\n",
       "      <td>trans_type1_uid_nunique_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>951</th>\n",
       "      <td>-0.376659</td>\n",
       "      <td>trans_type1_trsct_cnt_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>943</th>\n",
       "      <td>-0.376659</td>\n",
       "      <td>trans_type1_uid_cnt_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>967</th>\n",
       "      <td>-0.376659</td>\n",
       "      <td>trans_type1_trsct_nunique_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>639</th>\n",
       "      <td>-0.379687</td>\n",
       "      <td>channel_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>-0.381351</td>\n",
       "      <td>channel_uid_cnt_y.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>725</th>\n",
       "      <td>-0.381351</td>\n",
       "      <td>channel_trsct_cnt_rate_y.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>741</th>\n",
       "      <td>-0.381351</td>\n",
       "      <td>channel_trsct_nunique_rate_y.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>948</th>\n",
       "      <td>-0.414060</td>\n",
       "      <td>trans_type1_trsct_cnt_rate_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>964</th>\n",
       "      <td>-0.414060</td>\n",
       "      <td>trans_type1_trsct_nunique_rate_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>940</th>\n",
       "      <td>-0.414060</td>\n",
       "      <td>trans_type1_uid_cnt_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>956</th>\n",
       "      <td>-0.415260</td>\n",
       "      <td>trans_type1_uid_nunique_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>735</th>\n",
       "      <td>-0.444849</td>\n",
       "      <td>channel_uid_nunique_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>636</th>\n",
       "      <td>-0.458444</td>\n",
       "      <td>channel_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>743</th>\n",
       "      <td>-0.463848</td>\n",
       "      <td>channel_trsct_nunique_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>727</th>\n",
       "      <td>-0.463848</td>\n",
       "      <td>channel_trsct_cnt_rate_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>719</th>\n",
       "      <td>-0.463848</td>\n",
       "      <td>channel_uid_cnt_y.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>740</th>\n",
       "      <td>-0.491880</td>\n",
       "      <td>channel_trsct_nunique_rate_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>724</th>\n",
       "      <td>-0.491880</td>\n",
       "      <td>channel_trsct_cnt_rate_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>716</th>\n",
       "      <td>-0.491880</td>\n",
       "      <td>channel_uid_cnt_x.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>732</th>\n",
       "      <td>-0.494036</td>\n",
       "      <td>channel_uid_nunique_x.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1450 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           Tag                               index\n",
       "1     1.000000                                 Tag\n",
       "896   0.424501               code1_uid_nunique_x.3\n",
       "880   0.424475                   code1_uid_cnt_x.3\n",
       "904   0.424475        code1_trsct_nunique_rate_x.3\n",
       "888   0.424475            code1_trsct_cnt_rate_x.3\n",
       "897   0.414832               code1_uid_nunique_y.3\n",
       "905   0.414666        code1_trsct_nunique_rate_y.3\n",
       "881   0.414666                   code1_uid_cnt_y.3\n",
       "889   0.414666            code1_trsct_cnt_rate_y.3\n",
       "891   0.326350                 code1_uid_nunique_y\n",
       "1180  0.324214                 ip1_uid_nunique_x.1\n",
       "859   0.315827              merchant_uid_nunique_y\n",
       "1183  0.312808                 ip1_uid_nunique_y.2\n",
       "984   0.312059          acc_id1_trsct_cnt_rate_x.3\n",
       "976   0.312059                 acc_id1_uid_cnt_x.3\n",
       "1000  0.312059      acc_id1_trsct_nunique_rate_x.3\n",
       "992   0.304446             acc_id1_uid_nunique_x.3\n",
       "987   0.293726               acc_id1_uid_nunique_y\n",
       "1001  0.291091      acc_id1_trsct_nunique_rate_y.3\n",
       "985   0.291091          acc_id1_trsct_cnt_rate_y.3\n",
       "977   0.291091                 acc_id1_uid_cnt_y.3\n",
       "843   0.290949                  merchant_uid_cnt_y\n",
       "867   0.290949       merchant_trsct_nunique_rate_y\n",
       "851   0.290949           merchant_trsct_cnt_rate_y\n",
       "993   0.289693             acc_id1_uid_nunique_y.3\n",
       "1147  0.289329                   bal_uid_nunique_y\n",
       "1161  0.286219          bal_trsct_nunique_rate_y.3\n",
       "1137  0.286219                     bal_uid_cnt_y.3\n",
       "1145  0.286219              bal_trsct_cnt_rate_y.3\n",
       "1153  0.285539                 bal_uid_nunique_y.3\n",
       "...        ...                                 ...\n",
       "1327 -0.327363             trans_type2_uid_cnt_y.2\n",
       "1351 -0.327363  trans_type2_trsct_nunique_rate_y.2\n",
       "1335 -0.327363      trans_type2_trsct_cnt_rate_y.2\n",
       "1343 -0.327931         trans_type2_uid_nunique_y.2\n",
       "733  -0.340312             channel_uid_nunique_y.1\n",
       "1151 -0.369987                 bal_uid_nunique_y.2\n",
       "1143 -0.370283              bal_trsct_cnt_rate_y.2\n",
       "1159 -0.370283          bal_trsct_nunique_rate_y.2\n",
       "1135 -0.370283                     bal_uid_cnt_y.2\n",
       "959  -0.372296         trans_type1_uid_nunique_y.2\n",
       "951  -0.376659      trans_type1_trsct_cnt_rate_y.2\n",
       "943  -0.376659             trans_type1_uid_cnt_y.2\n",
       "967  -0.376659  trans_type1_trsct_nunique_rate_y.2\n",
       "639  -0.379687                         channel_y.2\n",
       "717  -0.381351                 channel_uid_cnt_y.1\n",
       "725  -0.381351          channel_trsct_cnt_rate_y.1\n",
       "741  -0.381351      channel_trsct_nunique_rate_y.1\n",
       "948  -0.414060      trans_type1_trsct_cnt_rate_x.1\n",
       "964  -0.414060  trans_type1_trsct_nunique_rate_x.1\n",
       "940  -0.414060             trans_type1_uid_cnt_x.1\n",
       "956  -0.415260         trans_type1_uid_nunique_x.1\n",
       "735  -0.444849             channel_uid_nunique_y.2\n",
       "636  -0.458444                         channel_x.1\n",
       "743  -0.463848      channel_trsct_nunique_rate_y.2\n",
       "727  -0.463848          channel_trsct_cnt_rate_y.2\n",
       "719  -0.463848                 channel_uid_cnt_y.2\n",
       "740  -0.491880      channel_trsct_nunique_rate_x.1\n",
       "724  -0.491880          channel_trsct_cnt_rate_x.1\n",
       "716  -0.491880                 channel_uid_cnt_x.1\n",
       "732  -0.494036             channel_uid_nunique_x.1\n",
       "\n",
       "[1450 rows x 2 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# tr_corr = train.corr()[tag_hd.Tag].reset_index()\n",
    "tr_corr = tr_corr[['Tag','index']].sort_values(by=['Tag'], ascending=False)\n",
    "tr_corr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['code1_uid_nunique_x.3',\n",
       " 'code1_uid_cnt_x.3',\n",
       " 'code1_trsct_nunique_rate_x.3',\n",
       " 'code1_trsct_cnt_rate_x.3',\n",
       " 'code1_uid_nunique_y.3',\n",
       " 'code1_trsct_nunique_rate_y.3',\n",
       " 'code1_uid_cnt_y.3',\n",
       " 'code1_trsct_cnt_rate_y.3',\n",
       " 'code1_uid_nunique_y',\n",
       " 'ip1_uid_nunique_x.1',\n",
       " 'merchant_uid_nunique_y',\n",
       " 'ip1_uid_nunique_y.2',\n",
       " 'acc_id1_trsct_cnt_rate_x.3',\n",
       " 'acc_id1_uid_cnt_x.3',\n",
       " 'acc_id1_trsct_nunique_rate_x.3',\n",
       " 'acc_id1_uid_nunique_x.3',\n",
       " 'acc_id1_uid_nunique_y',\n",
       " 'acc_id1_trsct_nunique_rate_y.3',\n",
       " 'acc_id1_trsct_cnt_rate_y.3',\n",
       " 'acc_id1_uid_cnt_y.3',\n",
       " 'merchant_uid_cnt_y',\n",
       " 'merchant_trsct_nunique_rate_y',\n",
       " 'merchant_trsct_cnt_rate_y',\n",
       " 'acc_id1_uid_nunique_y.3',\n",
       " 'bal_uid_nunique_y',\n",
       " 'bal_trsct_nunique_rate_y.3',\n",
       " 'bal_uid_cnt_y.3',\n",
       " 'bal_trsct_cnt_rate_y.3',\n",
       " 'bal_uid_nunique_y.3',\n",
       " 'bal_trsct_nunique_rate_y',\n",
       " 'bal_trsct_cnt_rate_y',\n",
       " 'bal_uid_cnt_y',\n",
       " 'bal_uid_cnt_x.3',\n",
       " 'bal_trsct_cnt_rate_x.3',\n",
       " 'bal_trsct_nunique_rate_x.3',\n",
       " 'bal_uid_nunique_x.3',\n",
       " 'code1_uid_cnt_y',\n",
       " 'code1_trsct_cnt_rate_y',\n",
       " 'code1_trsct_nunique_rate_y',\n",
       " 'acc_id2_uid_nunique_x.3',\n",
       " 'acc_id2_trsct_nunique_rate_x.3',\n",
       " 'acc_id2_uid_cnt_x.3',\n",
       " 'acc_id2_trsct_cnt_rate_x.3',\n",
       " 'device_code3_uid_nunique_y',\n",
       " '397opip1_uid_nunique_y',\n",
       " '333opdevice_code2_uid_nunique_y',\n",
       " '330opdevice_code2_uid_nunique_x',\n",
       " 'ip1_uid_nunique_x.3',\n",
       " 'ip1_uid_nunique_y.1',\n",
       " 'channel_uid_nunique_y',\n",
       " 'channel_y',\n",
       " 'channel_trsct_nunique_rate_y',\n",
       " 'channel_uid_cnt_y',\n",
       " 'channel_trsct_cnt_rate_y',\n",
       " 'device_code3_trsct_cnt_rate_y',\n",
       " 'device_code3_trsct_nunique_rate_y',\n",
       " 'device_code3_uid_cnt_y',\n",
       " '301opdevice_code1_uid_nunique_y',\n",
       " '394opip1_uid_nunique_x',\n",
       " 'ip1_uid_cnt_y.2',\n",
       " 'ip1_trsct_nunique_rate_y.2',\n",
       " 'ip1_trsct_cnt_rate_y.2',\n",
       " '298opdevice_code1_uid_nunique_x',\n",
       " 'ip1_sub_uid_cnt_y.2',\n",
       " 'ip1_sub_trsct_nunique_rate_y.2',\n",
       " 'ip1_sub_trsct_cnt_rate_y.2',\n",
       " 'ip1_trsct_nunique_rate_x.1',\n",
       " 'ip1_trsct_cnt_rate_x.1',\n",
       " 'ip1_uid_cnt_x.1',\n",
       " 'acc_id1_trsct_cnt_rate_x.1',\n",
       " 'acc_id1_trsct_nunique_rate_x.1',\n",
       " 'acc_id1_uid_cnt_x.1',\n",
       " 'channel_trsct_cnt_rate_y.3',\n",
       " 'channel_trsct_nunique_rate_y.3',\n",
       " 'channel_uid_cnt_y.3',\n",
       " 'ip1_sub_trsct_nunique_rate_x.1',\n",
       " 'ip1_sub_trsct_cnt_rate_x.1',\n",
       " 'ip1_sub_uid_cnt_x.1',\n",
       " '325opdevice_code2_op_cnt_rate_y',\n",
       " '341opdevice_code2_op_nunique_rate_y',\n",
       " '317opdevice_code2_uid_cnt_y',\n",
       " 'acc_id1_uid_nunique_x.1',\n",
       " '398opip1_uid_nunique_x',\n",
       " '322opdevice_code2_op_cnt_rate_x',\n",
       " '338opdevice_code2_op_nunique_rate_x',\n",
       " '314opdevice_code2_uid_cnt_x',\n",
       " 'ip1_trsct_cnt_rate_x.3',\n",
       " 'ip1_trsct_nunique_rate_x.3',\n",
       " 'ip1_uid_cnt_x.3',\n",
       " '309opdevice_code1_op_nunique_rate_y',\n",
       " '293opdevice_code1_op_cnt_rate_y',\n",
       " '285opdevice_code1_uid_cnt_y',\n",
       " 'acc_id1_trsct_cnt_rate_y',\n",
       " 'acc_id1_uid_cnt_y',\n",
       " 'acc_id1_trsct_nunique_rate_y',\n",
       " 'channel_uid_cnt_x.3',\n",
       " 'channel_trsct_cnt_rate_x.3',\n",
       " 'channel_trsct_nunique_rate_x.3',\n",
       " '405opip1_op_nunique_rate_y',\n",
       " '381opip1_uid_cnt_y',\n",
       " '389opip1_op_cnt_rate_y',\n",
       " '390opip1_op_cnt_rate_x',\n",
       " '406opip1_op_nunique_rate_x',\n",
       " '382opip1_uid_cnt_x',\n",
       " 'acc_id2_trsct_nunique_rate_y.3',\n",
       " 'acc_id2_uid_cnt_y.3',\n",
       " 'acc_id2_trsct_cnt_rate_y.3',\n",
       " 'ip1_sub_trsct_cnt_rate_x.3',\n",
       " 'ip1_sub_trsct_nunique_rate_x.3',\n",
       " 'ip1_sub_uid_cnt_x.3',\n",
       " '306opdevice_code1_op_nunique_rate_x',\n",
       " '282opdevice_code1_uid_cnt_x',\n",
       " '290opdevice_code1_op_cnt_rate_x',\n",
       " 'acc_id2_uid_nunique_y.3',\n",
       " '331opdevice_code2_uid_nunique_y',\n",
       " '378opip1_uid_cnt_x',\n",
       " '386opip1_op_cnt_rate_x',\n",
       " '402opip1_op_nunique_rate_x',\n",
       " 'ip1_uid_nunique_x.2',\n",
       " 'amt_src1_trsct_cnt_rate_y.3',\n",
       " 'amt_src1_uid_cnt_y.3',\n",
       " 'amt_src1_trsct_nunique_rate_y.3',\n",
       " 'device2_uid_cnt_x.3',\n",
       " 'device2_trsct_cnt_rate_x.3',\n",
       " 'device2_trsct_nunique_rate_x.3',\n",
       " '407opip1_op_nunique_rate_y',\n",
       " '391opip1_op_cnt_rate_y',\n",
       " '383opip1_uid_cnt_y',\n",
       " '399opip1_uid_nunique_y',\n",
       " 'amt_src1_trsct_nunique_rate_x.3',\n",
       " 'amt_src1_uid_cnt_x.3',\n",
       " 'amt_src1_trsct_cnt_rate_x.3',\n",
       " 'device2_uid_cnt_x.1',\n",
       " 'device2_trsct_nunique_rate_x.1',\n",
       " 'device2_trsct_cnt_rate_x.1',\n",
       " 'ip1_sub_uid_cnt_y.3',\n",
       " 'ip1_sub_trsct_nunique_rate_y.3',\n",
       " 'ip1_sub_trsct_cnt_rate_y.3',\n",
       " '396opip1_uid_nunique_x',\n",
       " '583opip1_sub_op_cnt_rate_y',\n",
       " '599opip1_sub_op_nunique_rate_y',\n",
       " '575opip1_sub_uid_cnt_y',\n",
       " 'ip1_uid_cnt_y.3',\n",
       " 'ip1_trsct_nunique_rate_y.3',\n",
       " 'ip1_trsct_cnt_rate_y.3',\n",
       " '299opdevice_code1_uid_nunique_y',\n",
       " '388opip1_op_cnt_rate_x',\n",
       " '380opip1_uid_cnt_x',\n",
       " '404opip1_op_nunique_rate_x',\n",
       " '589opip1_sub_uid_nunique_y',\n",
       " 'ip1_sub_uid_nunique_x.2',\n",
       " '395opip1_uid_nunique_y',\n",
       " 'ip1_uid_nunique_y',\n",
       " '581opip1_sub_op_cnt_rate_y',\n",
       " '573opip1_sub_uid_cnt_y',\n",
       " '597opip1_sub_op_nunique_rate_y',\n",
       " 'device2_uid_nunique_x.3',\n",
       " '339opdevice_code2_op_nunique_rate_y',\n",
       " '315opdevice_code2_uid_cnt_y',\n",
       " '323opdevice_code2_op_cnt_rate_y',\n",
       " 'acc_id3_uid_nunique_x.3',\n",
       " 'acc_id3_trsct_cnt_rate_x.3',\n",
       " 'acc_id3_uid_cnt_x.3',\n",
       " 'acc_id3_trsct_nunique_rate_x.3',\n",
       " 'trans_type2_y',\n",
       " 'trans_type2_uid_nunique_y',\n",
       " 'trans_type2_uid_cnt_y',\n",
       " 'trans_type2_trsct_nunique_rate_y',\n",
       " 'trans_type2_trsct_cnt_rate_y',\n",
       " 'device2_uid_cnt_y.3',\n",
       " 'device2_trsct_nunique_rate_y.3',\n",
       " 'device2_trsct_cnt_rate_y.3',\n",
       " '582opip1_sub_op_cnt_rate_x',\n",
       " '574opip1_sub_uid_cnt_x',\n",
       " '598opip1_sub_op_nunique_rate_x',\n",
       " '291opdevice_code1_op_cnt_rate_y',\n",
       " '307opdevice_code1_op_nunique_rate_y',\n",
       " '283opdevice_code1_uid_cnt_y',\n",
       " 'device2_trsct_nunique_rate_y.2',\n",
       " 'device2_uid_cnt_y.2',\n",
       " 'device2_trsct_cnt_rate_y.2',\n",
       " '594opip1_sub_op_nunique_rate_x',\n",
       " '570opip1_sub_uid_cnt_x',\n",
       " '578opip1_sub_op_cnt_rate_x',\n",
       " '596opip1_sub_op_nunique_rate_x',\n",
       " '572opip1_sub_uid_cnt_x',\n",
       " '580opip1_sub_op_cnt_rate_x',\n",
       " 'ip1_trsct_cnt_rate_y.1',\n",
       " 'ip1_trsct_nunique_rate_y.1',\n",
       " 'ip1_uid_cnt_y.1',\n",
       " 'device2_uid_nunique_y.3',\n",
       " 'trans_type2_trsct_nunique_rate_x.3',\n",
       " 'trans_type2_uid_cnt_x.3',\n",
       " 'trans_type2_trsct_cnt_rate_x.3',\n",
       " 'ip1_sub_uid_nunique_y.2',\n",
       " '591opip1_sub_uid_nunique_y',\n",
       " '247opdevice1_op_nunique_rate_y',\n",
       " '223opdevice1_uid_cnt_y',\n",
       " '231opdevice1_op_cnt_rate_y',\n",
       " 'trans_type2_x.3',\n",
       " '175opos_uid_nunique_y',\n",
       " '334opdevice_code2_uid_nunique_x',\n",
       " 'market_code_trsct_cnt_rate_x.3',\n",
       " 'market_code_trsct_nunique_rate_x.3',\n",
       " 'market_code_uid_cnt_x.3',\n",
       " '302opdevice_code1_uid_nunique_x',\n",
       " 'market_code_uid_nunique_x.3',\n",
       " '586opip1_sub_uid_nunique_x',\n",
       " 'ip1_sub_trsct_nunique_rate_y.1',\n",
       " 'ip1_sub_trsct_cnt_rate_y.1',\n",
       " 'ip1_sub_uid_cnt_y.1',\n",
       " '222opdevice1_uid_cnt_x',\n",
       " '246opdevice1_op_nunique_rate_x',\n",
       " '230opdevice1_op_cnt_rate_x',\n",
       " '174opos_uid_nunique_x',\n",
       " 'trans_type2_uid_nunique_x.3',\n",
       " 'market_code_trsct_cnt_rate_y.3',\n",
       " 'market_code_uid_cnt_y.3',\n",
       " 'market_code_trsct_nunique_rate_y.3',\n",
       " 'device_code3_uid_cnt_x.3',\n",
       " 'device_code3_trsct_nunique_rate_x.3',\n",
       " 'device_code3_trsct_cnt_rate_x.3',\n",
       " 'channel_uid_nunique_x.3',\n",
       " 'ip1_sub_uid_nunique_x.1',\n",
       " 'device1_trsct_cnt_rate_x.3',\n",
       " 'device1_trsct_nunique_rate_x.3',\n",
       " 'device1_uid_cnt_x.3',\n",
       " 'ip1_uid_nunique_y.3',\n",
       " 'device1_uid_nunique_x.3',\n",
       " '233opdevice1_uid_nunique_y',\n",
       " '310opdevice_code1_op_nunique_rate_x',\n",
       " '294opdevice_code1_op_cnt_rate_x',\n",
       " '286opdevice_code1_uid_cnt_x',\n",
       " '303opdevice_code1_uid_nunique_y',\n",
       " 'market_code_uid_nunique_y.3',\n",
       " '225opdevice1_op_cnt_rate_y',\n",
       " '241opdevice1_op_nunique_rate_y',\n",
       " '217opdevice1_uid_cnt_y',\n",
       " '335opdevice_code2_uid_nunique_y',\n",
       " 'device_code3_uid_nunique_x.3',\n",
       " '393opip1_uid_nunique_y',\n",
       " '587opip1_sub_uid_nunique_y',\n",
       " 'trans_type2_uid_cnt_y.3',\n",
       " 'trans_type2_trsct_nunique_rate_y.3',\n",
       " 'trans_type2_trsct_cnt_rate_y.3',\n",
       " 'channel_uid_nunique_y.3',\n",
       " '238opdevice1_uid_nunique_x',\n",
       " '239opdevice1_uid_nunique_y',\n",
       " 'device2_uid_nunique_x.1',\n",
       " 'trans_type2_y.3',\n",
       " 'acc_id3_uid_nunique_y',\n",
       " 'code1_uid_nunique_x.2',\n",
       " 'code1_trsct_nunique_rate_x.2',\n",
       " 'code1_trsct_cnt_rate_x.2',\n",
       " 'code1_uid_cnt_x.2',\n",
       " 'device1_uid_nunique_y',\n",
       " '525opwifi_uid_nunique_y',\n",
       " '326opdevice_code2_op_cnt_rate_x',\n",
       " '342opdevice_code2_op_nunique_rate_x',\n",
       " '318opdevice_code2_uid_cnt_x',\n",
       " 'code2_uid_nunique_x.2',\n",
       " '269opdevice2_uid_nunique_y',\n",
       " '295opdevice_code1_op_cnt_rate_y',\n",
       " '311opdevice_code1_op_nunique_rate_y',\n",
       " '287opdevice_code1_uid_cnt_y',\n",
       " 'code2_uid_cnt_x.2',\n",
       " 'code2_trsct_cnt_rate_x.2',\n",
       " 'code2_trsct_nunique_rate_x.2',\n",
       " 'acc_id2_uid_nunique_y',\n",
       " 'device1_trsct_nunique_rate_y',\n",
       " 'device1_trsct_cnt_rate_y',\n",
       " 'device1_uid_cnt_y',\n",
       " '319opdevice_code2_uid_cnt_y',\n",
       " '327opdevice_code2_op_cnt_rate_y',\n",
       " '343opdevice_code2_op_nunique_rate_y',\n",
       " 'trans_type2_uid_nunique_y.3',\n",
       " 'channel_x.3',\n",
       " 'device2_trsct_cnt_rate_y',\n",
       " 'device2_uid_cnt_y',\n",
       " 'device2_trsct_nunique_rate_y',\n",
       " 'device2_uid_nunique_y',\n",
       " 'ip1_sub_uid_nunique_y.1',\n",
       " '590opip1_sub_uid_nunique_x',\n",
       " 'acc_id3_trsct_nunique_rate_y.3',\n",
       " 'acc_id3_trsct_cnt_rate_y.3',\n",
       " 'acc_id3_uid_cnt_y.3',\n",
       " '177opos_op_nunique_rate_y',\n",
       " '153opos_uid_cnt_y',\n",
       " '169opos_uid_nunique_y',\n",
       " '17opos_y',\n",
       " '161opos_op_cnt_rate_y',\n",
       " 'device1_trsct_nunique_rate_y.3',\n",
       " 'device1_uid_cnt_y.3',\n",
       " 'device1_trsct_cnt_rate_y.3',\n",
       " '588opip1_sub_uid_nunique_x',\n",
       " 'bal_y',\n",
       " '300opdevice_code1_uid_nunique_x',\n",
       " '523opwifi_uid_nunique_y',\n",
       " 'geocode_uid_nunique_x.3',\n",
       " 'code1_trsct_nunique_rate_x.1',\n",
       " 'code1_trsct_cnt_rate_x.1',\n",
       " 'code1_uid_cnt_x.1',\n",
       " 'code1_uid_nunique_x.1',\n",
       " 'trans_type1_trsct_nunique_rate_y',\n",
       " 'trans_type1_uid_cnt_y',\n",
       " 'trans_type1_trsct_cnt_rate_y',\n",
       " 'trans_type1_uid_nunique_y',\n",
       " '266opdevice2_uid_nunique_x',\n",
       " 'acc_id3_uid_nunique_y.3',\n",
       " '267opdevice2_uid_nunique_y',\n",
       " 'device1_uid_nunique_y.3',\n",
       " 'market_code_uid_nunique_x.2',\n",
       " '517opwifi_op_cnt_rate_y',\n",
       " '509opwifi_uid_cnt_y',\n",
       " '533opwifi_op_nunique_rate_y',\n",
       " '507opwifi_uid_cnt_y',\n",
       " '515opwifi_op_cnt_rate_y',\n",
       " '531opwifi_op_nunique_rate_y',\n",
       " 'device_code3_uid_nunique_x.1',\n",
       " 'market_code_uid_nunique_x.1',\n",
       " 'market_code_trsct_cnt_rate_x.1',\n",
       " 'market_code_trsct_nunique_rate_x.1',\n",
       " 'market_code_uid_cnt_x.1',\n",
       " 'amt_src1_uid_nunique_y.3',\n",
       " 'market_code_trsct_nunique_rate_x.2',\n",
       " 'market_code_trsct_cnt_rate_x.2',\n",
       " 'market_code_uid_cnt_x.2',\n",
       " 'amt_src1_uid_nunique_x.3',\n",
       " '332opdevice_code2_uid_nunique_x',\n",
       " 'device_code3_trsct_cnt_rate_x.1',\n",
       " 'device_code3_uid_cnt_x.1',\n",
       " 'device_code3_trsct_nunique_rate_x.1',\n",
       " 'geocode_trsct_cnt_rate_x.3',\n",
       " 'geocode_uid_cnt_x.3',\n",
       " 'geocode_trsct_nunique_rate_x.3',\n",
       " 'amt_src2_uid_nunique_y',\n",
       " 'amt_src2_trsct_cnt_rate_y',\n",
       " 'amt_src2_trsct_nunique_rate_y',\n",
       " 'amt_src2_uid_cnt_y',\n",
       " 'trans_amt_trsct_nunique_rate_x.2',\n",
       " 'trans_amt_trsct_cnt_rate_x.2',\n",
       " 'trans_amt_uid_cnt_x.2',\n",
       " 'geocode_uid_nunique_y',\n",
       " 'device2_uid_nunique_y.2',\n",
       " 'geocode_trsct_nunique_rate_y',\n",
       " 'geocode_trsct_cnt_rate_y',\n",
       " 'geocode_uid_cnt_y',\n",
       " 'acc_id1_trsct_cnt_rate_y.2',\n",
       " 'acc_id1_trsct_nunique_rate_y.2',\n",
       " 'acc_id1_uid_cnt_y.2',\n",
       " 'time_uid_cnt_y',\n",
       " 'time_trsct_cnt_rate_y',\n",
       " 'time_trsct_nunique_rate_y',\n",
       " 'time_uid_nunique_y',\n",
       " '457opdevice_code3_uid_nunique_y',\n",
       " '465opdevice_code3_op_nunique_rate_y',\n",
       " '449opdevice_code3_op_cnt_rate_y',\n",
       " '441opdevice_code3_uid_cnt_y',\n",
       " 'acc_id1_uid_nunique_y.2',\n",
       " 'acc_id1_uid_nunique_x.2',\n",
       " 'trans_type1_uid_cnt_x.3',\n",
       " 'trans_type1_trsct_cnt_rate_x.3',\n",
       " 'trans_type1_trsct_nunique_rate_x.3',\n",
       " '23opos_y',\n",
       " 'device2_trsct_nunique_rate_y.1',\n",
       " 'device2_trsct_cnt_rate_y.1',\n",
       " 'device2_uid_cnt_y.1',\n",
       " '522opwifi_uid_nunique_x',\n",
       " '22opos_x',\n",
       " 'acc_id2_uid_nunique_x.2',\n",
       " '18opos_x',\n",
       " 'acc_id2_trsct_cnt_rate_x.1',\n",
       " 'acc_id2_uid_cnt_x.1',\n",
       " 'acc_id2_trsct_nunique_rate_x.1',\n",
       " 'acc_id2_trsct_nunique_rate_y',\n",
       " 'acc_id2_uid_cnt_y',\n",
       " 'acc_id2_trsct_cnt_rate_y',\n",
       " 'channel_y.3',\n",
       " 'acc_id2_uid_nunique_x.1',\n",
       " 'trans_type1_uid_nunique_x.3',\n",
       " 'ip1_sub_uid_nunique_x.3',\n",
       " 'trans_amt_uid_nunique_x.2',\n",
       " 'time_uid_nunique_y.3',\n",
       " 'time_uid_nunique_x.3',\n",
       " '78opmode_uid_nunique_x',\n",
       " 'acc_id3_uid_nunique_x.2',\n",
       " 'market_code_uid_nunique_y.2',\n",
       " '21opos_y',\n",
       " 'market_code_trsct_nunique_rate_y.2',\n",
       " 'market_code_trsct_cnt_rate_y.2',\n",
       " 'market_code_uid_cnt_y.2',\n",
       " 'trans_amt_uid_nunique_y.2',\n",
       " 'acc_id3_trsct_nunique_rate_y',\n",
       " 'acc_id3_uid_cnt_y',\n",
       " 'acc_id3_trsct_cnt_rate_y',\n",
       " 'trans_amt_uid_nunique_y.1',\n",
       " 'device_code3_uid_nunique_y.2',\n",
       " 'device2_trsct_nunique_rate_x.2',\n",
       " 'device2_trsct_cnt_rate_x.2',\n",
       " 'device2_uid_cnt_x.2',\n",
       " 'UID',\n",
       " 'ip1_uid_cnt_x.2',\n",
       " 'ip1_trsct_cnt_rate_x.2',\n",
       " 'ip1_trsct_nunique_rate_x.2',\n",
       " 'trans_type1_trsct_cnt_rate_y.3',\n",
       " 'trans_type1_uid_cnt_y.3',\n",
       " 'trans_type1_trsct_nunique_rate_y.3',\n",
       " '141optime_uid_nunique_y',\n",
       " 'device_code3_uid_nunique_x.2',\n",
       " 'ip1_trsct_nunique_rate_y',\n",
       " 'ip1_trsct_cnt_rate_y',\n",
       " 'ip1_uid_cnt_y',\n",
       " 'device_code3_trsct_cnt_rate_y.2',\n",
       " 'device_code3_trsct_nunique_rate_y.2',\n",
       " 'device_code3_uid_cnt_y.2',\n",
       " 'trans_amt_trsct_cnt_rate_y.2',\n",
       " 'trans_amt_uid_cnt_y.2',\n",
       " 'trans_amt_trsct_nunique_rate_y.2',\n",
       " 'time_uid_cnt_x.3',\n",
       " 'time_trsct_cnt_rate_x.3',\n",
       " 'time_trsct_nunique_rate_x.3',\n",
       " 'ip1_sub_trsct_nunique_rate_x.2',\n",
       " 'ip1_sub_trsct_cnt_rate_x.2',\n",
       " 'ip1_sub_uid_cnt_x.2',\n",
       " 'trans_amt_trsct_nunique_rate_y.1',\n",
       " 'trans_amt_uid_cnt_y.1',\n",
       " 'trans_amt_trsct_cnt_rate_y.1',\n",
       " '514opwifi_op_cnt_rate_x',\n",
       " '530opwifi_op_nunique_rate_x',\n",
       " '506opwifi_uid_cnt_x',\n",
       " 'time_uid_cnt_y.3',\n",
       " 'time_trsct_nunique_rate_y.3',\n",
       " 'time_trsct_cnt_rate_y.3',\n",
       " 'trans_type1_uid_nunique_y.3',\n",
       " 'geocode_uid_nunique_y.3',\n",
       " 'day_uid_nunique_x.2',\n",
       " '257opdevice2_op_cnt_rate_y',\n",
       " '249opdevice2_uid_cnt_y',\n",
       " '273opdevice2_op_nunique_rate_y',\n",
       " '571opip1_sub_uid_cnt_y',\n",
       " '579opip1_sub_op_cnt_rate_y',\n",
       " '595opip1_sub_op_nunique_rate_y',\n",
       " 'time_uid_nunique_x.1',\n",
       " '489opmac2_uid_nunique_y',\n",
       " 'market_type_trsct_nunique_rate_x.1',\n",
       " 'market_type_x.1',\n",
       " 'market_type_uid_nunique_x.1',\n",
       " 'market_type_trsct_cnt_rate_x.1',\n",
       " 'market_type_uid_cnt_x.1',\n",
       " 'code2_uid_nunique_x.1',\n",
       " 'code2_uid_nunique_y.2',\n",
       " 'code2_uid_nunique_y.1',\n",
       " 'code2_trsct_cnt_rate_x.1',\n",
       " 'code2_trsct_nunique_rate_x.1',\n",
       " 'code2_uid_cnt_x.1',\n",
       " 'code2_trsct_nunique_rate_y.2',\n",
       " 'code2_uid_cnt_y.2',\n",
       " 'code2_trsct_cnt_rate_y.2',\n",
       " 'code2_trsct_nunique_rate_y.1',\n",
       " 'code2_trsct_cnt_rate_y.1',\n",
       " 'code2_uid_cnt_y.1',\n",
       " 'acc_id3_uid_cnt_x.1',\n",
       " 'acc_id3_trsct_nunique_rate_x.1',\n",
       " 'acc_id3_trsct_cnt_rate_x.1',\n",
       " 'acc_id3_uid_nunique_x.1',\n",
       " 'day_trsct_cnt_rate_x.2',\n",
       " 'day_uid_cnt_x.2',\n",
       " 'day_trsct_nunique_rate_x.2',\n",
       " 'day_uid_cnt_y.2',\n",
       " 'day_trsct_nunique_rate_y.2',\n",
       " 'day_trsct_cnt_rate_y.2',\n",
       " '379opip1_uid_cnt_y',\n",
       " '403opip1_op_nunique_rate_y',\n",
       " '387opip1_op_cnt_rate_y',\n",
       " '265opdevice2_uid_nunique_y',\n",
       " '497opmac2_op_nunique_rate_y',\n",
       " '473opmac2_uid_cnt_y',\n",
       " '481opmac2_op_cnt_rate_y',\n",
       " 'amt_src2_trsct_nunique_rate_x.3',\n",
       " 'amt_src2_uid_cnt_x.3',\n",
       " 'amt_src2_trsct_cnt_rate_x.3',\n",
       " '419opip2_op_cnt_rate_y',\n",
       " '411opip2_uid_cnt_y',\n",
       " '435opip2_op_nunique_rate_y',\n",
       " '91opsuccess_uid_cnt_y',\n",
       " '115opsuccess_op_nunique_rate_y',\n",
       " '107opsuccess_uid_nunique_y',\n",
       " '11opsuccess_y',\n",
       " '99opsuccess_op_cnt_rate_y',\n",
       " 'geocode_uid_nunique_x.2',\n",
       " 'market_type_uid_nunique_x.2',\n",
       " '427opip2_uid_nunique_y',\n",
       " '429opip2_uid_nunique_y',\n",
       " '37opday_op_cnt_rate_y',\n",
       " '53opday_op_nunique_rate_y',\n",
       " '29opday_uid_cnt_y',\n",
       " 'market_type_y.2',\n",
       " 'market_type_uid_nunique_y.2',\n",
       " 'market_type_uid_cnt_y.2',\n",
       " 'market_type_trsct_nunique_rate_y.2',\n",
       " 'market_type_trsct_cnt_rate_y.2',\n",
       " 'market_type_x.2',\n",
       " '79opmode_uid_nunique_y',\n",
       " '421opip2_op_cnt_rate_y',\n",
       " '413opip2_uid_cnt_y',\n",
       " '437opip2_op_nunique_rate_y',\n",
       " '619opip2_sub_uid_nunique_y',\n",
       " 'ip1_sub_uid_nunique_y.3',\n",
       " 'amt_src1_uid_nunique_y',\n",
       " 'amt_src1_trsct_nunique_rate_y',\n",
       " 'amt_src1_uid_cnt_y',\n",
       " 'amt_src1_trsct_cnt_rate_y',\n",
       " '603opip2_sub_uid_cnt_y',\n",
       " '611opip2_sub_op_cnt_rate_y',\n",
       " '627opip2_sub_op_nunique_rate_y',\n",
       " '270opdevice2_uid_nunique_x',\n",
       " 'day_uid_nunique_y.2',\n",
       " 'geocode_uid_nunique_x.1',\n",
       " 'code1_uid_nunique_y.2',\n",
       " 'code1_trsct_nunique_rate_y.2',\n",
       " 'code1_uid_cnt_y.2',\n",
       " 'code1_trsct_cnt_rate_y.2',\n",
       " 'market_type_trsct_cnt_rate_x.2',\n",
       " 'market_type_trsct_nunique_rate_x.2',\n",
       " 'market_type_uid_cnt_x.2',\n",
       " '526opwifi_uid_nunique_x',\n",
       " 'acc_id2_trsct_cnt_rate_x.2',\n",
       " 'acc_id2_trsct_nunique_rate_x.2',\n",
       " 'acc_id2_uid_cnt_x.2',\n",
       " '45opday_uid_nunique_y',\n",
       " 'time_trsct_nunique_rate_x.1',\n",
       " 'time_uid_cnt_x.1',\n",
       " 'time_trsct_cnt_rate_x.1',\n",
       " 'geocode_trsct_nunique_rate_x.1',\n",
       " 'geocode_uid_cnt_x.1',\n",
       " 'geocode_trsct_cnt_rate_x.1',\n",
       " 'geocode_trsct_nunique_rate_y.3',\n",
       " 'geocode_trsct_cnt_rate_y.3',\n",
       " 'geocode_uid_cnt_y.3',\n",
       " 'acc_id2_trsct_cnt_rate_y.2',\n",
       " 'acc_id2_trsct_nunique_rate_y.2',\n",
       " 'acc_id2_uid_cnt_y.2',\n",
       " '297opdevice_code1_uid_nunique_y',\n",
       " 'time_uid_nunique_x.2',\n",
       " 'acc_id2_uid_nunique_y.2',\n",
       " 'day_trsct_nunique_rate_x',\n",
       " 'device_code3_uid_nunique_x',\n",
       " 'trans_type1_trsct_nunique_rate_x',\n",
       " 'device_code3_trsct_nunique_rate_x',\n",
       " 'time_uid_cnt_x',\n",
       " 'trans_amt_trsct_nunique_rate_x',\n",
       " 'mac1_uid_nunique_x',\n",
       " 'channel_uid_cnt_x',\n",
       " 'ip1_sub_uid_cnt_x',\n",
       " 'device_code3_trsct_cnt_rate_x',\n",
       " 'ip1_sub_trsct_nunique_rate_x',\n",
       " 'mac1_trsct_nunique_rate_x',\n",
       " 'day_uid_nunique_x',\n",
       " 'market_type_trsct_nunique_rate_x',\n",
       " 'day_uid_cnt_x',\n",
       " 'device2_trsct_nunique_rate_x',\n",
       " 'acc_id1_trsct_cnt_rate_x',\n",
       " 'trans_amt_uid_cnt_x',\n",
       " 'device2_uid_nunique_x',\n",
       " 'market_type_uid_nunique_x',\n",
       " 'bal_x',\n",
       " 'mac1_trsct_cnt_rate_x',\n",
       " 'ip1_sub_uid_nunique_x',\n",
       " 'device2_trsct_cnt_rate_x',\n",
       " 'market_type_x',\n",
       " 'acc_id1_uid_nunique_x',\n",
       " 'channel_trsct_nunique_rate_x',\n",
       " 'device2_uid_cnt_x',\n",
       " 'acc_id1_trsct_nunique_rate_x',\n",
       " 'trans_amt_x',\n",
       " 'device1_uid_cnt_x',\n",
       " 'day_x',\n",
       " 'device1_trsct_cnt_rate_x',\n",
       " 'channel_uid_nunique_x',\n",
       " 'device1_uid_nunique_x',\n",
       " 'trans_type2_x',\n",
       " 'trans_amt_trsct_cnt_rate_x',\n",
       " 'channel_x',\n",
       " 'acc_id1_uid_cnt_x',\n",
       " 'day_trsct_cnt_rate_x',\n",
       " 'device1_trsct_nunique_rate_x',\n",
       " 'mac1_uid_cnt_x',\n",
       " 'device_code3_uid_cnt_x',\n",
       " 'trans_amt_uid_nunique_x',\n",
       " 'channel_trsct_cnt_rate_x',\n",
       " 'trans_type1_uid_nunique_x',\n",
       " 'ip1_uid_nunique_x',\n",
       " 'acc_id3_trsct_cnt_rate_x',\n",
       " 'acc_id2_trsct_nunique_rate_x',\n",
       " 'code2_uid_cnt_x',\n",
       " 'amt_src2_uid_nunique_x',\n",
       " 'market_code_trsct_nunique_rate_x',\n",
       " 'amt_src2_trsct_nunique_rate_x',\n",
       " 'trans_type2_trsct_nunique_rate_x',\n",
       " 'acc_id2_uid_cnt_x',\n",
       " 'merchant_trsct_cnt_rate_x',\n",
       " 'code2_trsct_cnt_rate_x',\n",
       " 'trans_type2_uid_nunique_x',\n",
       " 'amt_src1_uid_cnt_x',\n",
       " 'acc_id2_trsct_cnt_rate_x',\n",
       " 'trans_type1_uid_cnt_x',\n",
       " 'amt_src1_trsct_cnt_rate_x',\n",
       " 'acc_id2_uid_nunique_x',\n",
       " 'acc_id3_uid_cnt_x',\n",
       " 'market_code_uid_cnt_x',\n",
       " 'market_type_uid_cnt_x',\n",
       " 'code2_trsct_nunique_rate_x',\n",
       " 'amt_src1_uid_nunique_x',\n",
       " 'acc_id3_uid_nunique_x',\n",
       " 'acc_id3_trsct_nunique_rate_x',\n",
       " 'geocode_uid_cnt_x',\n",
       " 'trans_type2_trsct_cnt_rate_x',\n",
       " 'amt_src1_trsct_nunique_rate_x',\n",
       " 'geocode_trsct_cnt_rate_x',\n",
       " 'geocode_uid_nunique_x',\n",
       " 'geocode_trsct_nunique_rate_x',\n",
       " 'code2_uid_nunique_x',\n",
       " 'trans_type2_uid_cnt_x',\n",
       " 'merchant_uid_cnt_x',\n",
       " 'amt_src2_trsct_cnt_rate_x',\n",
       " 'time_trsct_nunique_rate_x',\n",
       " 'ip1_uid_cnt_x',\n",
       " 'ip1_trsct_cnt_rate_x',\n",
       " 'bal_uid_nunique_x',\n",
       " 'code1_trsct_cnt_rate_x',\n",
       " 'market_code_uid_nunique_x',\n",
       " 'trans_type1_trsct_cnt_rate_x',\n",
       " 'merchant_trsct_nunique_rate_x',\n",
       " 'market_code_trsct_cnt_rate_x',\n",
       " 'bal_trsct_nunique_rate_x',\n",
       " 'code1_uid_cnt_x',\n",
       " 'bal_trsct_cnt_rate_x',\n",
       " 'code1_uid_nunique_x',\n",
       " 'market_type_trsct_cnt_rate_x',\n",
       " 'time_uid_nunique_x',\n",
       " 'code1_trsct_nunique_rate_x',\n",
       " 'ip1_sub_trsct_cnt_rate_x',\n",
       " 'ip1_trsct_nunique_rate_x',\n",
       " 'merchant_uid_nunique_x',\n",
       " 'amt_src2_uid_cnt_x',\n",
       " 'time_trsct_cnt_rate_x',\n",
       " 'bal_uid_cnt_x',\n",
       " '139optime_uid_nunique_y',\n",
       " 'time_trsct_cnt_rate_x.2',\n",
       " 'time_trsct_nunique_rate_x.2',\n",
       " 'time_uid_cnt_x.2',\n",
       " 'trans_type2_x.2',\n",
       " 'market_type_uid_nunique_y.1',\n",
       " 'market_type_uid_cnt_y.1',\n",
       " 'market_type_y.1',\n",
       " 'market_type_trsct_nunique_rate_y.1',\n",
       " 'market_type_trsct_cnt_rate_y.1',\n",
       " 'market_type_uid_nunique_y.3',\n",
       " 'market_type_uid_cnt_y.3',\n",
       " 'market_type_trsct_cnt_rate_y.3',\n",
       " 'market_type_y.3',\n",
       " 'market_type_trsct_nunique_rate_y.3',\n",
       " '271opdevice2_uid_nunique_y',\n",
       " 'day_x.2',\n",
       " '274opdevice2_op_nunique_rate_x',\n",
       " '250opdevice2_uid_cnt_x',\n",
       " '258opdevice2_op_cnt_rate_x',\n",
       " '138optime_uid_nunique_x',\n",
       " 'day_trsct_cnt_rate_x.1',\n",
       " 'day_trsct_nunique_rate_x.1',\n",
       " 'day_uid_cnt_x.1',\n",
       " 'market_code_uid_nunique_y',\n",
       " 'market_code_uid_cnt_y',\n",
       " 'market_code_trsct_nunique_rate_y',\n",
       " 'market_code_trsct_cnt_rate_y',\n",
       " 'market_type_trsct_cnt_rate_x.3',\n",
       " 'market_type_uid_nunique_x.3',\n",
       " 'market_type_uid_cnt_x.3',\n",
       " 'market_type_trsct_nunique_rate_x.3',\n",
       " 'market_type_x.3',\n",
       " '259opdevice2_op_cnt_rate_y',\n",
       " '251opdevice2_uid_cnt_y',\n",
       " '275opdevice2_op_nunique_rate_y',\n",
       " 'market_type_trsct_cnt_rate_y',\n",
       " 'market_type_trsct_nunique_rate_y',\n",
       " 'market_type_uid_nunique_y',\n",
       " 'market_type_y',\n",
       " 'market_type_uid_cnt_y',\n",
       " '621opip2_sub_uid_nunique_y',\n",
       " '133optime_op_cnt_rate_y',\n",
       " '149optime_op_nunique_rate_y',\n",
       " '125optime_uid_cnt_y',\n",
       " '305opdevice_code1_op_nunique_rate_y',\n",
       " '281opdevice_code1_uid_cnt_y',\n",
       " '289opdevice_code1_op_cnt_rate_y',\n",
       " 'device2_uid_nunique_x.2',\n",
       " 'day_uid_nunique_x.1',\n",
       " 'device_code3_uid_nunique_y.1',\n",
       " '261opdevice2_op_cnt_rate_y',\n",
       " '277opdevice2_op_nunique_rate_y',\n",
       " '253opdevice2_uid_cnt_y',\n",
       " 'amt_src2_trsct_cnt_rate_x.2',\n",
       " 'amt_src2_trsct_nunique_rate_x.2',\n",
       " 'amt_src2_uid_cnt_x.2',\n",
       " '117opsuccess_op_nunique_rate_y',\n",
       " '101opsuccess_op_cnt_rate_y',\n",
       " '93opsuccess_uid_cnt_y',\n",
       " '109opsuccess_uid_nunique_y',\n",
       " '13opsuccess_y',\n",
       " '629opip2_sub_op_nunique_rate_y',\n",
       " '605opip2_sub_uid_cnt_y',\n",
       " '613opip2_sub_op_cnt_rate_y',\n",
       " 'channel_x.2',\n",
       " '426opip2_uid_nunique_x',\n",
       " '555opgeo_code_uid_nunique_y',\n",
       " '255opdevice2_uid_cnt_y',\n",
       " '279opdevice2_op_nunique_rate_y',\n",
       " '263opdevice2_op_cnt_rate_y',\n",
       " '434opip2_op_nunique_rate_x',\n",
       " '418opip2_op_cnt_rate_x',\n",
       " '410opip2_uid_cnt_x',\n",
       " '524opwifi_uid_nunique_x',\n",
       " 'device_code3_uid_cnt_y.1',\n",
       " 'device_code3_trsct_cnt_rate_y.1',\n",
       " 'device_code3_trsct_nunique_rate_y.1',\n",
       " 'acc_id3_uid_cnt_x.2',\n",
       " 'acc_id3_trsct_cnt_rate_x.2',\n",
       " 'acc_id3_trsct_nunique_rate_x.2',\n",
       " 'device1_trsct_nunique_rate_x.2',\n",
       " 'device1_uid_cnt_x.2',\n",
       " 'device1_trsct_cnt_rate_x.2',\n",
       " '278opdevice2_op_nunique_rate_x',\n",
       " '262opdevice2_op_cnt_rate_x',\n",
       " '254opdevice2_uid_cnt_x',\n",
       " '363opmac1_uid_nunique_y',\n",
       " '355opmac1_op_cnt_rate_y',\n",
       " '371opmac1_op_nunique_rate_y',\n",
       " '347opmac1_uid_cnt_y',\n",
       " 'mac1_uid_nunique_y',\n",
       " 'amt_src1_trsct_nunique_rate_x.2',\n",
       " 'amt_src1_trsct_cnt_rate_x.2',\n",
       " 'amt_src1_uid_cnt_x.2',\n",
       " '123optime_uid_cnt_y',\n",
       " '131optime_op_cnt_rate_y',\n",
       " '147optime_op_nunique_rate_y',\n",
       " '35opday_op_cnt_rate_y',\n",
       " '51opday_op_nunique_rate_y',\n",
       " '27opday_uid_cnt_y',\n",
       " 'acc_id3_trsct_cnt_rate_y.2',\n",
       " 'acc_id3_trsct_nunique_rate_y.2',\n",
       " 'acc_id3_uid_cnt_y.2',\n",
       " 'code2_trsct_cnt_rate_y.3',\n",
       " 'code2_trsct_nunique_rate_y.3',\n",
       " 'code2_uid_cnt_y.3',\n",
       " 'device2_uid_nunique_y.1',\n",
       " 'geocode_uid_nunique_y.2',\n",
       " 'acc_id3_uid_nunique_y.2',\n",
       " '527opwifi_uid_nunique_y',\n",
       " 'day_trsct_nunique_rate_x.3',\n",
       " 'day_uid_cnt_x.3',\n",
       " 'day_trsct_cnt_rate_x.3',\n",
       " 'day_uid_nunique_x.3',\n",
       " 'mac1_uid_nunique_x.2',\n",
       " 'mac1_trsct_cnt_rate_x.2',\n",
       " 'mac1_trsct_nunique_rate_x.2',\n",
       " 'mac1_uid_cnt_x.2',\n",
       " '34opday_op_cnt_rate_x',\n",
       " '50opday_op_nunique_rate_x',\n",
       " '26opday_uid_cnt_x',\n",
       " 'geocode_trsct_nunique_rate_y.2',\n",
       " 'geocode_uid_cnt_y.2',\n",
       " 'geocode_trsct_cnt_rate_y.2',\n",
       " 'trans_amt_uid_nunique_x.1',\n",
       " 'amt_src2_uid_nunique_x.3',\n",
       " 'code2_uid_nunique_y.3',\n",
       " '353opmac1_op_cnt_rate_y',\n",
       " '345opmac1_uid_cnt_y',\n",
       " '369opmac1_op_nunique_rate_y',\n",
       " '508opwifi_uid_cnt_x',\n",
       " '532opwifi_op_nunique_rate_x',\n",
       " '516opwifi_op_cnt_rate_x',\n",
       " '43opday_uid_nunique_y',\n",
       " 'device1_uid_nunique_x.2',\n",
       " 'code2_trsct_nunique_rate_x.3',\n",
       " 'code2_uid_cnt_x.3',\n",
       " 'code2_trsct_cnt_rate_x.3',\n",
       " 'code2_uid_nunique_x.3',\n",
       " '74opmode_uid_nunique_x',\n",
       " '10opsuccess_x',\n",
       " '90opsuccess_uid_cnt_x',\n",
       " '106opsuccess_uid_nunique_x',\n",
       " '98opsuccess_op_cnt_rate_x',\n",
       " '114opsuccess_op_nunique_rate_x',\n",
       " '3opday_y',\n",
       " 'bal_y.1',\n",
       " 'time_uid_nunique_y.2',\n",
       " '316opdevice_code2_uid_cnt_x',\n",
       " '324opdevice_code2_op_cnt_rate_x',\n",
       " '340opdevice_code2_op_nunique_rate_x',\n",
       " 'day_uid_nunique_y.3',\n",
       " 'trans_amt_trsct_nunique_rate_x.1',\n",
       " 'trans_amt_trsct_cnt_rate_x.1',\n",
       " 'trans_amt_uid_cnt_x.1',\n",
       " '510opwifi_uid_cnt_x',\n",
       " '534opwifi_op_nunique_rate_x',\n",
       " '518opwifi_op_cnt_rate_x',\n",
       " 'day_trsct_cnt_rate_y.1',\n",
       " 'day_trsct_nunique_rate_y.1',\n",
       " 'day_uid_cnt_y.1',\n",
       " 'geocode_trsct_nunique_rate_x.2',\n",
       " 'geocode_trsct_cnt_rate_x.2',\n",
       " 'geocode_uid_cnt_x.2',\n",
       " '47opday_uid_nunique_y',\n",
       " 'acc_id1_trsct_nunique_rate_x.2',\n",
       " 'acc_id1_uid_cnt_x.2',\n",
       " 'acc_id1_trsct_cnt_rate_x.2',\n",
       " '55opday_op_nunique_rate_y',\n",
       " '31opday_uid_cnt_y',\n",
       " '39opday_op_cnt_rate_y',\n",
       " '42opday_uid_nunique_x',\n",
       " 'amt_src2_uid_nunique_x.2',\n",
       " 'day_trsct_cnt_rate_y.3',\n",
       " 'day_uid_cnt_y.3',\n",
       " 'day_trsct_nunique_rate_y.3',\n",
       " '361opmac1_uid_nunique_y',\n",
       " 'device_code3_trsct_nunique_rate_x.2',\n",
       " 'device_code3_uid_cnt_x.2',\n",
       " 'device_code3_trsct_cnt_rate_x.2',\n",
       " '308opdevice_code1_op_nunique_rate_x',\n",
       " '292opdevice_code1_op_cnt_rate_x',\n",
       " '284opdevice_code1_uid_cnt_x',\n",
       " 'market_code_uid_nunique_y.1',\n",
       " 'amt_src1_uid_nunique_x.2',\n",
       " 'trans_type2_trsct_nunique_rate_x.2',\n",
       " 'trans_type2_trsct_cnt_rate_x.2',\n",
       " 'trans_type2_uid_cnt_x.2',\n",
       " '618opip2_sub_uid_nunique_x',\n",
       " 'day_y',\n",
       " 'day_uid_nunique_y',\n",
       " 'day_uid_cnt_y',\n",
       " 'day_trsct_nunique_rate_y',\n",
       " 'day_trsct_cnt_rate_y',\n",
       " '130optime_op_cnt_rate_x',\n",
       " '122optime_uid_cnt_x',\n",
       " '146optime_op_nunique_rate_x',\n",
       " 'trans_amt_y.1',\n",
       " '428opip2_uid_nunique_x',\n",
       " '420opip2_op_cnt_rate_x',\n",
       " '436opip2_op_nunique_rate_x',\n",
       " '412opip2_uid_cnt_x',\n",
       " 'merchant_uid_nunique_x.3',\n",
       " '557opgeo_code_uid_nunique_y',\n",
       " '511opwifi_uid_cnt_y',\n",
       " '519opwifi_op_cnt_rate_y',\n",
       " '535opwifi_op_nunique_rate_y',\n",
       " 'market_code_uid_cnt_y.1',\n",
       " 'market_code_trsct_nunique_rate_y.1',\n",
       " 'market_code_trsct_cnt_rate_y.1',\n",
       " 'device_code3_uid_cnt_y.3',\n",
       " 'device_code3_trsct_nunique_rate_y.3',\n",
       " 'device_code3_trsct_cnt_rate_y.3',\n",
       " 'day_uid_nunique_y.1',\n",
       " 'trans_amt_y.3',\n",
       " 'ip1_sub_uid_nunique_y',\n",
       " '626opip2_sub_op_nunique_rate_x',\n",
       " '610opip2_sub_op_cnt_rate_x',\n",
       " '602opip2_sub_uid_cnt_x',\n",
       " 'channel_trsct_nunique_rate_x.2',\n",
       " 'channel_uid_cnt_x.2',\n",
       " 'channel_trsct_cnt_rate_x.2',\n",
       " '143optime_uid_nunique_y',\n",
       " 'trans_type2_uid_nunique_x.2',\n",
       " 'time_trsct_nunique_rate_y.2',\n",
       " 'time_trsct_cnt_rate_y.2',\n",
       " 'time_uid_cnt_y.2',\n",
       " '30opday_uid_cnt_x',\n",
       " '38opday_op_cnt_rate_x',\n",
       " '54opday_op_nunique_rate_x',\n",
       " '5opday_y',\n",
       " 'mac1_trsct_nunique_rate_y',\n",
       " 'mac1_uid_cnt_y',\n",
       " 'mac1_trsct_cnt_rate_y',\n",
       " 'amt_src2_uid_cnt_y.3',\n",
       " 'amt_src2_trsct_cnt_rate_y.3',\n",
       " 'amt_src2_trsct_nunique_rate_y.3',\n",
       " 'bal_x.2',\n",
       " 'bal_y.2',\n",
       " 'acc_id2_trsct_cnt_rate_y.1',\n",
       " 'acc_id2_trsct_nunique_rate_y.1',\n",
       " 'acc_id2_uid_cnt_y.1',\n",
       " '563opgeo_code_op_nunique_rate_y',\n",
       " '539opgeo_code_uid_cnt_y',\n",
       " '547opgeo_code_op_cnt_rate_y',\n",
       " '46opday_uid_nunique_x',\n",
       " 'acc_id2_uid_nunique_y.1',\n",
       " 'geocode_uid_nunique_y.1',\n",
       " 'bal_x.1',\n",
       " 'device_code3_uid_nunique_y.3',\n",
       " 'acc_id3_trsct_cnt_rate_y.1',\n",
       " 'acc_id3_uid_cnt_y.1',\n",
       " 'acc_id3_trsct_nunique_rate_y.1',\n",
       " 'geocode_trsct_cnt_rate_y.1',\n",
       " 'geocode_uid_cnt_y.1',\n",
       " 'geocode_trsct_nunique_rate_y.1',\n",
       " 'trans_type1_uid_nunique_x.2',\n",
       " 'mac1_trsct_cnt_rate_y.3',\n",
       " 'mac1_trsct_nunique_rate_y.3',\n",
       " 'mac1_uid_cnt_y.3',\n",
       " 'mac1_uid_nunique_y.3',\n",
       " 'bal_y.3',\n",
       " '559opgeo_code_uid_nunique_y',\n",
       " 'acc_id3_uid_nunique_y.1',\n",
       " 'bal_x.3',\n",
       " 'channel_uid_nunique_x.2',\n",
       " '127optime_uid_cnt_y',\n",
       " '135optime_op_cnt_rate_y',\n",
       " '151optime_op_nunique_rate_y',\n",
       " 'trans_type1_trsct_cnt_rate_x.2',\n",
       " 'trans_type1_uid_cnt_x.2',\n",
       " 'trans_type1_trsct_nunique_rate_x.2',\n",
       " 'merchant_trsct_nunique_rate_x.3',\n",
       " 'merchant_uid_cnt_x.3',\n",
       " 'merchant_trsct_cnt_rate_x.3',\n",
       " '268opdevice2_uid_nunique_x',\n",
       " '554opgeo_code_uid_nunique_x',\n",
       " '19opos_y',\n",
       " 'mac1_uid_nunique_x.3',\n",
       " 'mac1_uid_cnt_x.3',\n",
       " 'mac1_trsct_cnt_rate_x.3',\n",
       " 'mac1_trsct_nunique_rate_x.3',\n",
       " 'trans_amt_x.2',\n",
       " 'trans_amt_y.2',\n",
       " 'trans_amt_x.1',\n",
       " '95opsuccess_uid_cnt_y',\n",
       " '103opsuccess_op_cnt_rate_y',\n",
       " '119opsuccess_op_nunique_rate_y',\n",
       " '111opsuccess_uid_nunique_y',\n",
       " '15opsuccess_y',\n",
       " '483opmac2_op_cnt_rate_y',\n",
       " '475opmac2_uid_cnt_y',\n",
       " '499opmac2_op_nunique_rate_y',\n",
       " 'amt_src2_uid_nunique_y.3',\n",
       " 'trans_amt_x.3',\n",
       " '129optime_op_cnt_rate_y',\n",
       " '145optime_op_nunique_rate_y',\n",
       " '121optime_uid_cnt_y',\n",
       " '137optime_uid_nunique_y',\n",
       " '491opmac2_uid_nunique_y',\n",
       " 'acc_id1_uid_nunique_y.1',\n",
       " '628opip2_sub_op_nunique_rate_x',\n",
       " '604opip2_sub_uid_cnt_x',\n",
       " '612opip2_sub_op_cnt_rate_x',\n",
       " '620opip2_sub_uid_nunique_x',\n",
       " '365opmac1_uid_nunique_y',\n",
       " 'merchant_uid_cnt_x.2',\n",
       " 'merchant_trsct_cnt_rate_x.2',\n",
       " 'merchant_trsct_nunique_rate_x.2',\n",
       " '349opmac1_uid_cnt_y',\n",
       " '357opmac1_op_cnt_rate_y',\n",
       " '373opmac1_op_nunique_rate_y',\n",
       " '209opversion_op_nunique_rate_y',\n",
       " '185opversion_uid_cnt_y',\n",
       " '193opversion_op_cnt_rate_y',\n",
       " '201opversion_uid_nunique_y',\n",
       " 'ip1_sub_trsct_nunique_rate_y',\n",
       " 'ip1_sub_uid_cnt_y',\n",
       " 'ip1_sub_trsct_cnt_rate_y',\n",
       " 'amt_src2_trsct_cnt_rate_x.1',\n",
       " 'amt_src2_trsct_nunique_rate_x.1',\n",
       " 'amt_src2_uid_cnt_x.1',\n",
       " 'acc_id1_trsct_cnt_rate_y.1',\n",
       " 'acc_id1_uid_cnt_y.1',\n",
       " 'acc_id1_trsct_nunique_rate_y.1',\n",
       " '551opgeo_code_op_cnt_rate_y',\n",
       " '567opgeo_code_op_nunique_rate_y',\n",
       " '543opgeo_code_uid_cnt_y',\n",
       " 'bal_uid_nunique_x.2',\n",
       " 'bal_uid_cnt_x.2',\n",
       " 'bal_trsct_nunique_rate_x.2',\n",
       " 'bal_trsct_cnt_rate_x.2',\n",
       " '134optime_op_cnt_rate_x',\n",
       " '150optime_op_nunique_rate_x',\n",
       " '126optime_uid_cnt_x',\n",
       " 'mac1_uid_nunique_y.1',\n",
       " 'mac1_trsct_nunique_rate_y.1',\n",
       " 'mac1_trsct_cnt_rate_y.1',\n",
       " 'mac1_uid_cnt_y.1',\n",
       " '460opdevice_code3_uid_nunique_x',\n",
       " '468opdevice_code3_op_nunique_rate_x',\n",
       " '444opdevice_code3_uid_cnt_x',\n",
       " '452opdevice_code3_op_cnt_rate_x',\n",
       " '142optime_uid_nunique_x',\n",
       " '558opgeo_code_uid_nunique_x',\n",
       " '607opip2_sub_uid_cnt_y',\n",
       " '631opip2_sub_op_nunique_rate_y',\n",
       " '615opip2_sub_op_cnt_rate_y',\n",
       " 'merchant_uid_nunique_x.2',\n",
       " '462opdevice_code3_uid_nunique_x',\n",
       " '470opdevice_code3_op_nunique_rate_x',\n",
       " '454opdevice_code3_op_cnt_rate_x',\n",
       " ...]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_name = tr_corr['index'].tolist()[1:]\n",
    "feature_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(31198, 1450)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Tag</th>\n",
       "      <th>2opday_x</th>\n",
       "      <th>6opday_x</th>\n",
       "      <th>7opday_y</th>\n",
       "      <th>17opos_y</th>\n",
       "      <th>18opos_x</th>\n",
       "      <th>21opos_y</th>\n",
       "      <th>22opos_x</th>\n",
       "      <th>23opos_y</th>\n",
       "      <th>57opmode_uid_cnt_y</th>\n",
       "      <th>...</th>\n",
       "      <th>ip1_sub_uid_nunique_x.1</th>\n",
       "      <th>ip1_sub_uid_nunique_y.1</th>\n",
       "      <th>ip1_sub_uid_nunique_x.2</th>\n",
       "      <th>ip1_sub_uid_nunique_y.2</th>\n",
       "      <th>ip1_sub_uid_nunique_x.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>31179</th>\n",
       "      <td>-1</td>\n",
       "      <td>25.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>103.0</td>\n",
       "      <td>103.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>9</td>\n",
       "      <td>...</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7.0</td>\n",
       "      <td>10.983662</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>0.000294</td>\n",
       "      <td>0.000001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31180</th>\n",
       "      <td>-1</td>\n",
       "      <td>21.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3</td>\n",
       "      <td>200.0</td>\n",
       "      <td>106.619048</td>\n",
       "      <td>21.397374</td>\n",
       "      <td>457.847619</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2 rows × 625 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Tag  2opday_x  6opday_x  7opday_y  17opos_y  18opos_x    21opos_y  \\\n",
       "31179   -1      25.0       0.0       0.0         1     103.0  103.000000   \n",
       "31180   -1      21.0       0.0       0.0         3     200.0  106.619048   \n",
       "\n",
       "        22opos_x    23opos_y  57opmode_uid_cnt_y  \\\n",
       "31179   0.000000    0.000000                   9   \n",
       "31180  21.397374  457.847619                  10   \n",
       "\n",
       "                    ...                ip1_sub_uid_nunique_x.1  \\\n",
       "31179               ...                                      7   \n",
       "31180               ...                                      2   \n",
       "\n",
       "       ip1_sub_uid_nunique_y.1  ip1_sub_uid_nunique_x.2  \\\n",
       "31179                        7                        7   \n",
       "31180                        2                       14   \n",
       "\n",
       "       ip1_sub_uid_nunique_y.2  ip1_sub_uid_nunique_x.3  \\\n",
       "31179                      7.0                10.983662   \n",
       "31180                      2.0                 0.000000   \n",
       "\n",
       "       ip1_sub_trsct_nunique_rate_x.1  ip1_sub_trsct_nunique_rate_y.1  \\\n",
       "31179                        0.000134                        0.000134   \n",
       "31180                        0.000058                        0.000058   \n",
       "\n",
       "       ip1_sub_trsct_nunique_rate_y.2  ip1_sub_trsct_nunique_rate_x.3  \\\n",
       "31179                        0.000134                        0.000294   \n",
       "31180                        0.000058                        0.000000   \n",
       "\n",
       "       ip1_sub_trsct_nunique_rate_y.3  \n",
       "31179                        0.000001  \n",
       "31180                        0.000000  \n",
       "\n",
       "[2 rows x 625 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test = merge[merge[tag_hd.Tag]==-1]\n",
    "print(test.shape) \n",
    "col = tr_corr[tr_corr['Tag'].abs()>0.06]['index']\n",
    "train_data = train[col]\n",
    "test_data = test[col]\n",
    "test_data.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code1_uid_nunique_x.3</th>\n",
       "      <th>Tag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.062746</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.177705</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.200000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.229416</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.235504</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.242536</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.242536</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.250000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.266880</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.291937</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.302532</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.323381</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.325813</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.351866</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.353025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.374634</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.377964</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.384054</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0.389249</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0.398063</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0.404520</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0.408248</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0.408248</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0.417029</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0.435494</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0.440959</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0.474579</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0.477567</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0.480384</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1661</th>\n",
       "      <td>11442.504985</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1662</th>\n",
       "      <td>11482.549470</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1663</th>\n",
       "      <td>11486.383606</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1664</th>\n",
       "      <td>11495.621210</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1665</th>\n",
       "      <td>11500.240012</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1666</th>\n",
       "      <td>11522.179322</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1667</th>\n",
       "      <td>11529.465046</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1668</th>\n",
       "      <td>11531.994277</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1669</th>\n",
       "      <td>11535.990652</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1670</th>\n",
       "      <td>11562.016491</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1671</th>\n",
       "      <td>11578.182298</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1672</th>\n",
       "      <td>11583.955801</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1673</th>\n",
       "      <td>11589.151953</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1674</th>\n",
       "      <td>11593.193405</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1675</th>\n",
       "      <td>11597.812207</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1676</th>\n",
       "      <td>11598.966908</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1677</th>\n",
       "      <td>11600.698959</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1678</th>\n",
       "      <td>11603.585710</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1679</th>\n",
       "      <td>11604.740411</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1680</th>\n",
       "      <td>11610.513913</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1681</th>\n",
       "      <td>11613.400665</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1682</th>\n",
       "      <td>11618.019467</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1683</th>\n",
       "      <td>11619.751518</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1684</th>\n",
       "      <td>11622.638269</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1685</th>\n",
       "      <td>11626.102371</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1686</th>\n",
       "      <td>11627.257071</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1687</th>\n",
       "      <td>11628.411772</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1688</th>\n",
       "      <td>13020.664269</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1689</th>\n",
       "      <td>13208.047566</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1690</th>\n",
       "      <td>13991.521879</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1691 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      code1_uid_nunique_x.3  Tag\n",
       "0                  0.000000    2\n",
       "1                  0.062746    1\n",
       "2                  0.177705    1\n",
       "3                  0.200000    1\n",
       "4                  0.229416    1\n",
       "5                  0.235504    1\n",
       "6                  0.242536    1\n",
       "7                  0.242536    1\n",
       "8                  0.250000    1\n",
       "9                  0.266880    1\n",
       "10                 0.291937    1\n",
       "11                 0.302532    1\n",
       "12                 0.323381    1\n",
       "13                 0.325813    1\n",
       "14                 0.351866    1\n",
       "15                 0.353025    1\n",
       "16                 0.374634    1\n",
       "17                 0.377964    1\n",
       "18                 0.384054    1\n",
       "19                 0.389249    1\n",
       "20                 0.398063    1\n",
       "21                 0.404520    1\n",
       "22                 0.408248    1\n",
       "23                 0.408248    1\n",
       "24                 0.417029    1\n",
       "25                 0.435494    1\n",
       "26                 0.440959    1\n",
       "27                 0.474579    1\n",
       "28                 0.477567    1\n",
       "29                 0.480384    1\n",
       "...                     ...  ...\n",
       "1661           11442.504985    1\n",
       "1662           11482.549470    1\n",
       "1663           11486.383606    1\n",
       "1664           11495.621210    1\n",
       "1665           11500.240012    1\n",
       "1666           11522.179322    1\n",
       "1667           11529.465046    1\n",
       "1668           11531.994277    1\n",
       "1669           11535.990652    1\n",
       "1670           11562.016491    1\n",
       "1671           11578.182298    1\n",
       "1672           11583.955801    1\n",
       "1673           11589.151953    1\n",
       "1674           11593.193405    1\n",
       "1675           11597.812207    1\n",
       "1676           11598.966908    1\n",
       "1677           11600.698959    1\n",
       "1678           11603.585710    1\n",
       "1679           11604.740411    1\n",
       "1680           11610.513913    1\n",
       "1681           11613.400665    1\n",
       "1682           11618.019467    1\n",
       "1683           11619.751518    1\n",
       "1684           11622.638269    1\n",
       "1685           11626.102371    1\n",
       "1686           11627.257071    1\n",
       "1687           11628.411772    1\n",
       "1688           13020.664269    1\n",
       "1689           13208.047566    1\n",
       "1690           13991.521879    1\n",
       "\n",
       "[1691 rows x 2 columns]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f1 = train_data.groupby(feature_name[0])\n",
    "f1[tag_hd.Tag].count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "1",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-37-0f14a415e112>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfeature_name\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\series.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m    599\u001b[0m         \u001b[0mkey\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_apply_if_callable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    600\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 601\u001b[1;33m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_value\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    602\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    603\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mis_scalar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_value\u001b[1;34m(self, series, key)\u001b[0m\n\u001b[0;32m   2475\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2476\u001b[0m             return self._engine.get_value(s, k,\n\u001b[1;32m-> 2477\u001b[1;33m                                           tz=getattr(series.dtype, 'tz', None))\n\u001b[0m\u001b[0;32m   2478\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2479\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minferred_type\u001b[0m \u001b[1;32min\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'integer'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'boolean'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value (pandas\\_libs\\index.c:4404)\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_value (pandas\\_libs\\index.c:4087)\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas\\_libs\\index.c:5126)\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item (pandas\\_libs\\hashtable.c:14031)\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.Int64HashTable.get_item (pandas\\_libs\\hashtable.c:13975)\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: 1"
     ],
     "output_type": "error"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "123\n"
     ]
    }
   ],
   "source": [
    "train_data.to_csv(features_base_path + 'train_data.csv', index=False)\n",
    "test_data.to_csv(features_base_path + 'test_data.csv', index=False)\n",
    "print(123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "helper load finish!!!\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Tag</th>\n",
       "      <th>17opos_y</th>\n",
       "      <th>58opmode_uid_cnt_x</th>\n",
       "      <th>60opmode_uid_cnt_x</th>\n",
       "      <th>61opmode_uid_cnt_y</th>\n",
       "      <th>66opmode_op_cnt_rate_x</th>\n",
       "      <th>68opmode_op_cnt_rate_x</th>\n",
       "      <th>69opmode_op_cnt_rate_y</th>\n",
       "      <th>77opmode_uid_nunique_y</th>\n",
       "      <th>82opmode_op_nunique_rate_x</th>\n",
       "      <th>...</th>\n",
       "      <th>ip1_sub_trsct_cnt_rate_y.3</th>\n",
       "      <th>ip1_sub_uid_nunique_x.1</th>\n",
       "      <th>ip1_sub_uid_nunique_y.1</th>\n",
       "      <th>ip1_sub_uid_nunique_x.2</th>\n",
       "      <th>ip1_sub_uid_nunique_y.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.1</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.2</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_x.3</th>\n",
       "      <th>ip1_sub_trsct_nunique_rate_y.3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1776471</td>\n",
       "      <td>11403330</td>\n",
       "      <td>1.267037e+06</td>\n",
       "      <td>1.214852</td>\n",
       "      <td>7.798247</td>\n",
       "      <td>0.866472</td>\n",
       "      <td>50081.444444</td>\n",
       "      <td>4.318153</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 448 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Tag  17opos_y  58opmode_uid_cnt_x  60opmode_uid_cnt_x  61opmode_uid_cnt_y  \\\n",
       "0    1         1             1776471            11403330        1.267037e+06   \n",
       "\n",
       "   66opmode_op_cnt_rate_x  68opmode_op_cnt_rate_x  69opmode_op_cnt_rate_y  \\\n",
       "0                1.214852                7.798247                0.866472   \n",
       "\n",
       "   77opmode_uid_nunique_y  82opmode_op_nunique_rate_x  \\\n",
       "0            50081.444444                    4.318153   \n",
       "\n",
       "                ...                ip1_sub_trsct_cnt_rate_y.3  \\\n",
       "0               ...                                       0.0   \n",
       "\n",
       "   ip1_sub_uid_nunique_x.1  ip1_sub_uid_nunique_y.1  ip1_sub_uid_nunique_x.2  \\\n",
       "0                        2                        2                        4   \n",
       "\n",
       "   ip1_sub_uid_nunique_y.2  ip1_sub_trsct_nunique_rate_x.1  \\\n",
       "0                      2.0                        0.000019   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_y.1  ip1_sub_trsct_nunique_rate_y.2  \\\n",
       "0                        0.000019                        0.000019   \n",
       "\n",
       "   ip1_sub_trsct_nunique_rate_x.3  ip1_sub_trsct_nunique_rate_y.3  \n",
       "0                             0.0                             0.0  \n",
       "\n",
       "[1 rows x 448 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from base_helper import *\n",
    "test = get_test_data()\n",
    "train_data = pd.read_csv(train_data_path)\n",
    "train_data.head(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
